@axos-web-dev/shared-components 1.0.100-dev.42 → 1.0.100-dev.42-enhancementvalidationcalls.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/dist/ATMLocator/ATMLocator.js +1 -1
- package/dist/Auth/SignInPassword.js +2 -2
- package/dist/BulletItem/BulletItem.js +1 -0
- package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
- package/dist/Calculators/BuyDownCalculator/index.js +1 -1
- package/dist/Calculators/Calculator.js +2 -2
- package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
- package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
- package/dist/Chatbot/ChatWindow.css.js +1 -0
- package/dist/Chatbot/Chatbot.css.js +0 -1
- package/dist/Forms/ApplicationStart.js +4 -2
- package/dist/Forms/ApplyNow.js +1 -1
- package/dist/Forms/ClearingForm.js +4 -2
- package/dist/Forms/CommercialDeposits.js +4 -2
- package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
- package/dist/Forms/CommercialLending.js +4 -2
- package/dist/Forms/CommercialPremiumFinance.js +4 -2
- package/dist/Forms/ContactCompany.js +4 -2
- package/dist/Forms/ContactCompanyTitle.js +4 -2
- package/dist/Forms/ContactUs.js +4 -2
- package/dist/Forms/ContactUsAAS.js +4 -2
- package/dist/Forms/ContactUsBusiness.js +4 -2
- package/dist/Forms/ContactUsBusinessNameEmail.js +4 -2
- package/dist/Forms/ContactUsLVF.js +4 -2
- package/dist/Forms/ContactUsNMLSId.js +4 -2
- package/dist/Forms/CpraRequest.d.ts +1 -1
- package/dist/Forms/CpraRequest.js +5 -2
- package/dist/Forms/CraPublicFile.js +4 -2
- package/dist/Forms/DealerServices.js +4 -2
- package/dist/Forms/EmailOnly.js +4 -2
- package/dist/Forms/EmailUs.js +4 -2
- package/dist/Forms/HoneyPot/index.js +2 -1
- package/dist/Forms/MortgageRate/MortgageRateForm.js +4 -2
- package/dist/Forms/MortgageWarehouseLending.js +4 -2
- package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
- package/dist/Forms/ScheduleCall.js +4 -2
- package/dist/Forms/ScheduleCallPremier.js +4 -2
- package/dist/Forms/SuccesForm.js +2 -2
- package/dist/Forms/VendorQuestionnaire.js +6 -2
- package/dist/Forms/index.js +1 -0
- package/dist/ImageLink/ImageLink.js +1 -1
- package/dist/LoadingIndicator/index.js +1 -0
- package/dist/Modal/contextApi/store.js +1 -1
- package/dist/SetContainer/SetContainer.js +1 -1
- package/dist/Tab/Tab.js +1 -0
- package/dist/Table/Table.d.ts +1 -1
- package/dist/main.js +8 -1
- package/dist/utils/emailValidation.d.ts +1 -0
- package/dist/utils/emailValidation.js +31 -0
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +9 -1
- package/dist/utils/nmlsValidation.d.ts +1 -0
- package/dist/utils/nmlsValidation.js +34 -0
- package/dist/utils/useCachedValidators.d.ts +2 -0
- package/dist/utils/useCachedValidators.js +22 -0
- package/package.json +136 -136
|
@@ -11,11 +11,11 @@ import '../assets/VideoWrapper/VideoWrapper.css';import '../assets/TopicalNavSet
|
|
|
11
11
|
/* empty css */
|
|
12
12
|
import "../utils/allowedAxosDomains.js";
|
|
13
13
|
import { getVariant } from "../utils/getVariant.js";
|
|
14
|
+
import "react";
|
|
14
15
|
import clsx from "clsx";
|
|
15
16
|
/* empty css */
|
|
16
17
|
/* empty css */
|
|
17
18
|
import "../Button/Button.css.js";
|
|
18
|
-
import "react";
|
|
19
19
|
import "react-use";
|
|
20
20
|
import "../Accordion/Accordion.js";
|
|
21
21
|
import "../Accordion/Accordion.css.js";
|
|
@@ -3,12 +3,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
4
4
|
import { Input } from "../Input/Input.js";
|
|
5
5
|
import "../utils/allowedAxosDomains.js";
|
|
6
|
+
import { z } from "zod";
|
|
6
7
|
import { getVariant } from "../utils/getVariant.js";
|
|
8
|
+
import { useState } from "react";
|
|
7
9
|
import clsx from "clsx";
|
|
8
10
|
import { useAction } from "next-safe-action/hooks";
|
|
9
|
-
import { useState } from "react";
|
|
10
11
|
import { useForm } from "react-hook-form";
|
|
11
|
-
import { z } from "zod";
|
|
12
12
|
import { ErrorAlert } from "./ErrorAlert.js";
|
|
13
13
|
import { body_sign_in, form_input_wrapper, sign_in_button, sign_in_form } from "./SignIn.css.js";
|
|
14
14
|
const schema = z.object({
|
|
@@ -10,6 +10,7 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
10
10
|
/* empty css */
|
|
11
11
|
import "../utils/allowedAxosDomains.js";
|
|
12
12
|
import { getVariant } from "../utils/getVariant.js";
|
|
13
|
+
import "react";
|
|
13
14
|
import clsx from "clsx";
|
|
14
15
|
import { bulletIcon } from "./BulletItem.css.js";
|
|
15
16
|
const BulletItem = (props) => {
|
|
@@ -5,8 +5,8 @@ import { Chevron } from "../../Chevron/index.js";
|
|
|
5
5
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
6
6
|
import "../../utils/allowedAxosDomains.js";
|
|
7
7
|
import { getVariant } from "../../utils/getVariant.js";
|
|
8
|
-
import clsx from "clsx";
|
|
9
8
|
import { useRef, useState, useEffect } from "react";
|
|
9
|
+
import clsx from "clsx";
|
|
10
10
|
import { calculator } from "../calculator.css.js";
|
|
11
11
|
import { container, calc_container, calc_block, pb0_1023, slider_block_wrapper, w100, stat_row, balance_wrapper, fb50, stat, slider_wrapper, slider, pt0_1023, text_block } from "./AnnualFeeCalculator.css.js";
|
|
12
12
|
const AnnualFeeCalculator = ({
|
|
@@ -19,10 +19,10 @@ import "../../Input/DownPaymentInput.js";
|
|
|
19
19
|
import "../../Input/RadioButton.js";
|
|
20
20
|
import { PercentageInput } from "../../Input/PercentageInput.js";
|
|
21
21
|
import "../../utils/allowedAxosDomains.js";
|
|
22
|
+
import { z } from "zod";
|
|
22
23
|
import { getVariant } from "../../utils/getVariant.js";
|
|
23
24
|
import clsx from "clsx";
|
|
24
25
|
import { useForm, FormProvider } from "react-hook-form";
|
|
25
|
-
import { z } from "zod";
|
|
26
26
|
import { calc_container, calculator_section, section_header, theme_header, mt_8, buydown_calculator_form, row_form, calculate_row, form_wrapper, form_disclosure } from "./BuyDownCalculator.css.js";
|
|
27
27
|
const BuyDownCalculator = ({
|
|
28
28
|
header,
|
|
@@ -14,13 +14,13 @@ import '../assets/Forms/QuickPricer/UserInformation.css';import '../assets/Forms
|
|
|
14
14
|
/* empty css */
|
|
15
15
|
import "../utils/allowedAxosDomains.js";
|
|
16
16
|
import { getVariant } from "../utils/getVariant.js";
|
|
17
|
+
import { useRef, useEffect } from "react";
|
|
17
18
|
import clsx from "clsx";
|
|
18
19
|
/* empty css */
|
|
19
20
|
/* empty css */
|
|
20
21
|
import "../Accordion/Accordion.js";
|
|
21
22
|
import "../Accordion/Accordion.css.js";
|
|
22
23
|
import "../AlertBanner/AlertBanner.css.js";
|
|
23
|
-
import { useRef, useEffect } from "react";
|
|
24
24
|
import "../Article/Article.css.js";
|
|
25
25
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
26
26
|
import "../Chevron/Chevron.css.js";
|
|
@@ -52,8 +52,8 @@ import "../Carousel/index.js";
|
|
|
52
52
|
/* empty css */
|
|
53
53
|
import "../Chatbot/store/chat.js";
|
|
54
54
|
import "../Chatbot/authenticate.js";
|
|
55
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
56
55
|
import "react-use";
|
|
56
|
+
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
57
57
|
/* empty css */
|
|
58
58
|
import "../Chatbot/store/messages.js";
|
|
59
59
|
/* empty css */
|
|
@@ -4,8 +4,8 @@ import { button } from "../../Button/Button.css.js";
|
|
|
4
4
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
5
5
|
import "../../utils/allowedAxosDomains.js";
|
|
6
6
|
import { getVariant } from "../../utils/getVariant.js";
|
|
7
|
-
import clsx from "clsx";
|
|
8
7
|
import { useState } from "react";
|
|
8
|
+
import clsx from "clsx";
|
|
9
9
|
import { calc_text, description_text, calc_disclosure } from "../BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
10
10
|
import { calculator } from "../calculator.css.js";
|
|
11
11
|
import { calc_container, container, h2i, inputs_container, input_container, input_box, error_message, hide_select_arrow, calculation_header, payment_results } from "../MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
|
|
@@ -5,8 +5,8 @@ import { calc_container, container, h2i, inputs_container, input_container, inpu
|
|
|
5
5
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
6
6
|
import "../../utils/allowedAxosDomains.js";
|
|
7
7
|
import { getVariant } from "../../utils/getVariant.js";
|
|
8
|
-
import clsx from "clsx";
|
|
9
8
|
import { useState } from "react";
|
|
9
|
+
import clsx from "clsx";
|
|
10
10
|
import { calculator } from "../calculator.css.js";
|
|
11
11
|
const MaxLoanCalculator = ({
|
|
12
12
|
variant,
|
|
@@ -4,8 +4,8 @@ import { button } from "../../Button/Button.css.js";
|
|
|
4
4
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
5
5
|
import "../../utils/allowedAxosDomains.js";
|
|
6
6
|
import { getVariant } from "../../utils/getVariant.js";
|
|
7
|
-
import clsx from "clsx";
|
|
8
7
|
import { useState } from "react";
|
|
8
|
+
import clsx from "clsx";
|
|
9
9
|
import { calc_text, description_text, calc_disclosure } from "../BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
10
10
|
import { calculator } from "../calculator.css.js";
|
|
11
11
|
import { calc_container, container, h2i, inputs_container, input_container, input_box, error_message, calculation_header, payment_results } from "./MonthlyPaymentCalculator.css.js";
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ApplicationStart = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
package/dist/Forms/ApplyNow.js
CHANGED
|
@@ -13,6 +13,7 @@ import '../assets/Modal/Modal.css';import '../assets/VideoWrapper/VideoWrapper.c
|
|
|
13
13
|
/* empty css */
|
|
14
14
|
import "../utils/allowedAxosDomains.js";
|
|
15
15
|
import { getVariant } from "../utils/getVariant.js";
|
|
16
|
+
import { useReducer } from "react";
|
|
16
17
|
import clsx from "clsx";
|
|
17
18
|
/* empty css */
|
|
18
19
|
/* empty css */
|
|
@@ -22,7 +23,6 @@ import "../Chevron/Chevron.css.js";
|
|
|
22
23
|
import "../Accordion/Accordion.js";
|
|
23
24
|
import "../Accordion/Accordion.css.js";
|
|
24
25
|
import "../AlertBanner/AlertBanner.css.js";
|
|
25
|
-
import { useReducer } from "react";
|
|
26
26
|
import "../Article/Article.css.js";
|
|
27
27
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
28
28
|
import "../Calculators/calculator.css.js";
|
|
@@ -27,11 +27,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import * as z from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import * as z from "zod";
|
|
35
36
|
import { iconForm, headerForm, form, descriptionField, headerContainer, xc_input, fullRowForm, ro_input, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -65,6 +66,7 @@ const ClearingForm = ({
|
|
|
65
66
|
onValidate,
|
|
66
67
|
id
|
|
67
68
|
}) => {
|
|
69
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
68
70
|
const schema = z.object({
|
|
69
71
|
first_name: z.string({ message: "First name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
70
72
|
message: "First name is required."
|
|
@@ -72,7 +74,7 @@ const ClearingForm = ({
|
|
|
72
74
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
73
75
|
message: "Last Name is required."
|
|
74
76
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
75
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
77
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
76
78
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
77
79
|
const removeDashes = val.replace(/-/gi, "");
|
|
78
80
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerForm, form, descriptionField, headerContainer, x_input, fullRowForm, pl_label, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,6 +50,7 @@ const CommercialDeposits = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string({ message: "First Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
54
56
|
message: "First Name is required."
|
|
@@ -56,7 +58,7 @@ const CommercialDeposits = ({
|
|
|
56
58
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
57
59
|
message: "Last Name is required."
|
|
58
60
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
59
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
61
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
60
62
|
phone: z.string({ message: "Business Phone is required." }).regex(/[\d-]{10}/, { message: "Business Phone is required." }).min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
61
63
|
const removeDashes = val.replace(/-/gi, "");
|
|
62
64
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerForm, form, descriptionField, headerContainer, x_input, fullRowForm, pl_label, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,6 +50,7 @@ const CommercialDepositsNoLendingOption = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string({ message: "First Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
54
56
|
message: "First Name is required."
|
|
@@ -56,7 +58,7 @@ const CommercialDepositsNoLendingOption = ({
|
|
|
56
58
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
57
59
|
message: "Last Name is required."
|
|
58
60
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
59
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
61
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
60
62
|
phone: z.string({ message: "Business Phone is required." }).regex(/[\d-]{10}/, { message: "Business Phone is required." }).min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
61
63
|
const removeDashes = val.replace(/-/gi, "");
|
|
62
64
|
if (removeDashes.length !== 10) {
|
|
@@ -27,11 +27,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import * as z from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import * as z from "zod";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -65,6 +66,7 @@ const CommercialLending = ({
|
|
|
65
66
|
setCRESLPage(true);
|
|
66
67
|
}
|
|
67
68
|
}, [pathname]);
|
|
69
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
68
70
|
const schema = z.object({
|
|
69
71
|
first_name: z.string({
|
|
70
72
|
required_error: "First name is required",
|
|
@@ -78,7 +80,7 @@ const CommercialLending = ({
|
|
|
78
80
|
}).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
79
81
|
message: "Invalid last name"
|
|
80
82
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
81
|
-
email: z.string().email({ message: "Business Email is required." }).refine(
|
|
83
|
+
email: z.string().email({ message: "Business Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
82
84
|
General_Business_Phone_SFDC2__c: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
83
85
|
const removeDashes = val.replace(/-/gi, "");
|
|
84
86
|
if (removeDashes.length !== 10) {
|
|
@@ -27,11 +27,12 @@ import "../Input/DownPaymentInput.js";
|
|
|
27
27
|
import "../Input/RadioButton.js";
|
|
28
28
|
import { LoadingIndicator } from "../LoadingIndicator/index.js";
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import { z } from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import { z } from "zod";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -50,6 +51,7 @@ const CommercialPremiumFinance = ({
|
|
|
50
51
|
description,
|
|
51
52
|
id
|
|
52
53
|
}) => {
|
|
54
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
53
55
|
const schema = z.object({
|
|
54
56
|
first_name: z.string({
|
|
55
57
|
required_error: "First name is required",
|
|
@@ -63,7 +65,7 @@ const CommercialPremiumFinance = ({
|
|
|
63
65
|
}).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
64
66
|
message: "Invalid last name"
|
|
65
67
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
66
|
-
email: z.string().email({ message: "Invalid email address" }).refine(
|
|
68
|
+
email: z.string().email({ message: "Invalid email address" }).refine(cachedEmailValidator, {
|
|
67
69
|
message: "Invalid email address"
|
|
68
70
|
}),
|
|
69
71
|
Insurance_Company__c: z.string(),
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactCompany = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactCompanyTitle = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
package/dist/Forms/ContactUs.js
CHANGED
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactUs = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
|
@@ -27,10 +27,11 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import { z } from "zod";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import { z } from "zod";
|
|
34
35
|
import { Roles } from "./FormEnums.js";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -50,6 +51,7 @@ const ContactUsAAS = ({
|
|
|
50
51
|
onValidate,
|
|
51
52
|
id
|
|
52
53
|
}) => {
|
|
54
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
53
55
|
const schema = z.object({
|
|
54
56
|
first_name: z.string({ message: "First name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
55
57
|
message: "Invalid first name"
|
|
@@ -57,7 +59,7 @@ const ContactUsAAS = ({
|
|
|
57
59
|
last_name: z.string({ message: "Last name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
58
60
|
message: "Invalid last name"
|
|
59
61
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
60
|
-
email: z.string({ message: "Email is required." }).email({ message: "Email is required." }).refine(
|
|
62
|
+
email: z.string({ message: "Email is required." }).email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
61
63
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
62
64
|
const removeDashes = val.replace(/-/gi, "");
|
|
63
65
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -148,10 +149,11 @@ const ContactUsBusiness = ({
|
|
|
148
149
|
onValidate,
|
|
149
150
|
id
|
|
150
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
151
153
|
const schema = z.object({
|
|
152
154
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
153
155
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
154
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
155
157
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
156
158
|
const removeDashes = val.replace(/-/gi, "");
|
|
157
159
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -148,10 +149,11 @@ const ContactUsBusinessNameAndEmail = ({
|
|
|
148
149
|
onValidate,
|
|
149
150
|
id
|
|
150
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
151
153
|
const schema = z.object({
|
|
152
154
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
153
155
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
154
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
155
157
|
Business_Name__c: z.string().min(1)
|
|
156
158
|
});
|
|
157
159
|
const gen_schema = schema.merge(SalesforceSchema).merge(honeyPotSchema).superRefine((data, ctx) => {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -51,6 +52,7 @@ const ContactUsLVF = ({
|
|
|
51
52
|
dealerCheckbox = true,
|
|
52
53
|
contextData
|
|
53
54
|
}) => {
|
|
55
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
54
56
|
const schema = z.object({
|
|
55
57
|
firstname: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
56
58
|
message: "Invalid first name"
|
|
@@ -58,7 +60,7 @@ const ContactUsLVF = ({
|
|
|
58
60
|
lastname: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
59
61
|
message: "Invalid last name"
|
|
60
62
|
}).trim().min(1, { message: "Please complete this required field." }),
|
|
61
|
-
email: z.string().email({ message: "Please complete this required field." }).refine(
|
|
63
|
+
email: z.string().email({ message: "Please complete this required field." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
62
64
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
63
65
|
const removeDashes = val.replace(/-/gi, "");
|
|
64
66
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -148,10 +149,11 @@ const ContactUsNMLSId = ({
|
|
|
148
149
|
onValidate,
|
|
149
150
|
id
|
|
150
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
151
153
|
const schema = z.object({
|
|
152
154
|
first_name: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
153
155
|
last_name: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
154
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
155
157
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
156
158
|
const removeDashes = val.replace(/-/gi, "");
|
|
157
159
|
if (removeDashes.length !== 10) {
|
|
@@ -24,4 +24,4 @@ export type CpraInputs = {
|
|
|
24
24
|
Zip_Code: string;
|
|
25
25
|
Contact_Method: "Email" | "Postal Mail";
|
|
26
26
|
};
|
|
27
|
-
export declare const CpraRequest: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, description, callToAction, onValidate, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare const CpraRequest: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, description, callToAction, validateEmail, onValidate, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
|