@axos-web-dev/shared-components 1.0.100-dev.43-executive.2 → 1.0.100-dev.43

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 (99) hide show
  1. package/dist/ATMLocator/ATMLocator.js +2 -3
  2. package/dist/Auth/ErrorAlert.js +1 -2
  3. package/dist/Auth/SignInPassword.js +2 -2
  4. package/dist/BulletItem/BulletItem.js +1 -0
  5. package/dist/Button/Button.js +1 -2
  6. package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
  7. package/dist/Calculators/BuyDownCalculator/index.js +1 -1
  8. package/dist/Calculators/Calculator.js +2 -3
  9. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
  10. package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
  11. package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
  12. package/dist/Carousel/index.js +1 -2
  13. package/dist/Chatbot/Bubble.css.js +0 -1
  14. package/dist/Chatbot/ChatWindow.css.d.ts +1 -0
  15. package/dist/Chatbot/ChatWindow.css.js +14 -11
  16. package/dist/Chatbot/ChatWindow.js +87 -66
  17. package/dist/Chatbot/Chatbot.d.ts +1 -1
  18. package/dist/Chatbot/Chatbot.js +46 -10
  19. package/dist/Chatbot/index.js +2 -1
  20. package/dist/Chevron/index.js +1 -2
  21. package/dist/Comparison/Comparison.js +1 -2
  22. package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +0 -136
  23. package/dist/ExecutiveBio/ExecutiveBio.css.js +0 -46
  24. package/dist/ExecutiveBio/ExecutiveBio.d.ts +1 -1
  25. package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +4 -10
  26. package/dist/ExecutiveBio/ExecutiveBio.js +86 -331
  27. package/dist/ExecutiveBio/index.js +1 -24
  28. package/dist/FaqAccordion/index.js +1 -2
  29. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -2
  30. package/dist/Forms/ApplicationStart.js +4 -2
  31. package/dist/Forms/ApplyNow.js +2 -3
  32. package/dist/Forms/ClearingForm.js +4 -2
  33. package/dist/Forms/CommercialDeposits.js +4 -2
  34. package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
  35. package/dist/Forms/CommercialLending.js +4 -2
  36. package/dist/Forms/CommercialPremiumFinance.js +4 -2
  37. package/dist/Forms/ContactCompany.js +4 -2
  38. package/dist/Forms/ContactCompanyTitle.js +4 -2
  39. package/dist/Forms/ContactUs.js +4 -2
  40. package/dist/Forms/ContactUsAAS.js +4 -2
  41. package/dist/Forms/ContactUsBusiness.js +5 -4
  42. package/dist/Forms/ContactUsBusinessNameEmail.js +5 -4
  43. package/dist/Forms/ContactUsLVF.js +4 -2
  44. package/dist/Forms/ContactUsNMLSId.js +5 -4
  45. package/dist/Forms/CpraRequest.d.ts +1 -1
  46. package/dist/Forms/CpraRequest.js +5 -2
  47. package/dist/Forms/CraPublicFile.js +5 -4
  48. package/dist/Forms/DealerServices.js +4 -2
  49. package/dist/Forms/EmailOnly.js +5 -4
  50. package/dist/Forms/EmailUs.js +7 -5
  51. package/dist/Forms/HoneyPot/index.js +2 -1
  52. package/dist/Forms/MortgageRate/MortgageRateForm.js +6 -5
  53. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -2
  54. package/dist/Forms/MortgageWarehouseLending.js +5 -4
  55. package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
  56. package/dist/Forms/ScheduleCall.js +4 -2
  57. package/dist/Forms/ScheduleCallPremier.js +4 -2
  58. package/dist/Forms/SuccesForm.js +2 -3
  59. package/dist/Forms/VendorQuestionnaire.js +6 -2
  60. package/dist/Forms/index.js +1 -0
  61. package/dist/Hyperlink/index.js +1 -2
  62. package/dist/ImageLink/ImageLink.js +2 -3
  63. package/dist/ImageLink/ImageLinkSet.js +1 -2
  64. package/dist/ImageLink/index.js +1 -2
  65. package/dist/Insight/Featured/CategorySelector.js +1 -2
  66. package/dist/Insight/Featured/Featured.js +1 -2
  67. package/dist/Insight/Featured/Header.js +1 -2
  68. package/dist/LoadingIndicator/index.js +1 -0
  69. package/dist/Modal/Modal.js +1 -2
  70. package/dist/Modal/contextApi/store.js +1 -1
  71. package/dist/NavigationMenu/AxosALTS/NavData.js +1 -2
  72. package/dist/NavigationMenu/AxosALTS/index.js +1 -2
  73. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +1 -2
  74. package/dist/NavigationMenu/AxosBank/NavData.js +1 -2
  75. package/dist/NavigationMenu/AxosBank/SubNavBar.js +8 -7
  76. package/dist/NavigationMenu/AxosBank/index.js +1 -2
  77. package/dist/NavigationMenu/LaVictoire/NavData.js +1 -2
  78. package/dist/NavigationMenu/LaVictoire/index.js +1 -2
  79. package/dist/NavigationMenu/NavDataJson.js +1 -2
  80. package/dist/NavigationMenu/Navbar.js +1 -2
  81. package/dist/NavigationMenu/SignInNavButton.js +1 -2
  82. package/dist/SetContainer/SetContainer.js +2 -3
  83. package/dist/SocialMediaBar/iconsRepository.js +1 -2
  84. package/dist/Tab/Tab.js +1 -0
  85. package/dist/Table/Table.d.ts +1 -1
  86. package/dist/VideoTile/VideoTile.js +1 -2
  87. package/dist/VideoWrapper/index.js +1 -2
  88. package/dist/assets/Chatbot/ChatWindow.css +38 -26
  89. package/dist/assets/ExecutiveBio/ExecutiveBio.css +0 -239
  90. package/dist/main.js +11 -26
  91. package/dist/utils/emailValidation.d.ts +1 -0
  92. package/dist/utils/emailValidation.js +31 -0
  93. package/dist/utils/index.d.ts +4 -1
  94. package/dist/utils/index.js +9 -1
  95. package/dist/utils/nmlsValidation.d.ts +1 -0
  96. package/dist/utils/nmlsValidation.js +34 -0
  97. package/dist/utils/useCachedValidators.d.ts +2 -0
  98. package/dist/utils/useCachedValidators.js +22 -0
  99. package/package.json +1 -1
@@ -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(async (val) => await validateEmail(val)),
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(async (val) => await validateEmail(val)),
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(async (val) => await validateEmail(val)),
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(async (val) => await validateEmail(val), {
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(async (val) => await validateEmail(val)),
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(async (val) => await validateEmail(val)),
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 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(async (val) => await validateEmail(val)),
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(async (val) => await validateEmail(val)),
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";
@@ -74,13 +75,12 @@ import "../Auth/SignInPassword.js";
74
75
  /* empty css */
75
76
  /* empty css */
76
77
  import "../Carousel/index.js";
77
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
78
78
  /* empty css */
79
79
  import "../Chatbot/store/chat.js";
80
80
  import "../Chatbot/authenticate.js";
81
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
81
82
  /* empty css */
82
83
  import "../Chatbot/store/messages.js";
83
- import "@ujet/websdk-headless";
84
84
  /* empty css */
85
85
  import "../Comparison/Comparison.css.js";
86
86
  import "next/image.js";
@@ -149,10 +149,11 @@ const ContactUsBusiness = ({
149
149
  onValidate,
150
150
  id
151
151
  }) => {
152
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
152
153
  const schema = z.object({
153
154
  first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
154
155
  last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
155
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
156
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
156
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) => {
157
158
  const removeDashes = val.replace(/-/gi, "");
158
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";
@@ -74,13 +75,12 @@ import "../Auth/SignInPassword.js";
74
75
  /* empty css */
75
76
  /* empty css */
76
77
  import "../Carousel/index.js";
77
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
78
78
  /* empty css */
79
79
  import "../Chatbot/store/chat.js";
80
80
  import "../Chatbot/authenticate.js";
81
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
81
82
  /* empty css */
82
83
  import "../Chatbot/store/messages.js";
83
- import "@ujet/websdk-headless";
84
84
  /* empty css */
85
85
  import "../Comparison/Comparison.css.js";
86
86
  import "next/image.js";
@@ -149,10 +149,11 @@ const ContactUsBusinessNameAndEmail = ({
149
149
  onValidate,
150
150
  id
151
151
  }) => {
152
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
152
153
  const schema = z.object({
153
154
  first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
154
155
  last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
155
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
156
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
156
157
  Business_Name__c: z.string().min(1)
157
158
  });
158
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(async (val) => await validateEmail(val)),
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";
@@ -74,13 +75,12 @@ import "../Auth/SignInPassword.js";
74
75
  /* empty css */
75
76
  /* empty css */
76
77
  import "../Carousel/index.js";
77
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
78
78
  /* empty css */
79
79
  import "../Chatbot/store/chat.js";
80
80
  import "../Chatbot/authenticate.js";
81
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
81
82
  /* empty css */
82
83
  import "../Chatbot/store/messages.js";
83
- import "@ujet/websdk-headless";
84
84
  /* empty css */
85
85
  import "../Comparison/Comparison.css.js";
86
86
  import "next/image.js";
@@ -149,10 +149,11 @@ const ContactUsNMLSId = ({
149
149
  onValidate,
150
150
  id
151
151
  }) => {
152
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
152
153
  const schema = z.object({
153
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." }),
154
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." }),
155
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
156
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
156
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) => {
157
158
  const removeDashes = val.replace(/-/gi, "");
158
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;
@@ -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 { findMoreAxosDomains } from "../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, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
36
37
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
37
38
  const CpraRequest = ({
@@ -45,9 +46,11 @@ const CpraRequest = ({
45
46
  headline,
46
47
  description,
47
48
  callToAction,
49
+ validateEmail,
48
50
  onValidate,
49
51
  id
50
52
  }) => {
53
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
51
54
  const schema = z.object({
52
55
  California_Resident: z.string(),
53
56
  Categories_of_personal_info: z.string(),
@@ -73,7 +76,7 @@ const CpraRequest = ({
73
76
  Last_Name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
74
77
  message: "Last Name is required."
75
78
  }).trim().min(1, { message: "Last Name is required." }),
76
- email: z.string().email({ message: "Email is required." }),
79
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
77
80
  Telephone: 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) => {
78
81
  const removeDashes = val.replace(/-/gi, "");
79
82
  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, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
49
50
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
@@ -74,13 +75,12 @@ import "../Auth/SignInPassword.js";
74
75
  /* empty css */
75
76
  /* empty css */
76
77
  import "../Carousel/index.js";
77
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
78
78
  /* empty css */
79
79
  import "../Chatbot/store/chat.js";
80
80
  import "../Chatbot/authenticate.js";
81
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
81
82
  /* empty css */
82
83
  import "../Chatbot/store/messages.js";
83
- import "@ujet/websdk-headless";
84
84
  /* empty css */
85
85
  import "../Comparison/Comparison.css.js";
86
86
  import "next/image.js";
@@ -149,10 +149,11 @@ const CraPublicFile = ({
149
149
  onValidate,
150
150
  id
151
151
  }) => {
152
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
152
153
  const schema = z.object({
153
154
  First_Name__c: z.string({ message: "Invalid first name." }).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "First Name is required." }).optional().or(z.literal("")),
154
155
  Last_Name__c: z.string({ message: "Invalid last name." }).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "Last Name is required." }).optional().or(z.literal("")),
155
- Customer_Email__c: z.string({ message: "Invalid email." }).email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)).optional().or(z.literal("")),
156
+ Customer_Email__c: z.string({ message: "Invalid email." }).email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }).optional().or(z.literal("")),
156
157
  Customer_Phone__c: 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) => {
157
158
  const removeDashes = val.replace(/-/gi, "");
158
159
  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 DealerServices = ({
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." }),
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) {
@@ -35,7 +35,9 @@ 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";
38
39
  import { associatedEmail } from "../utils/EverestValidity.js";
40
+ import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
39
41
  import "../Calculators/calculator.css.js";
40
42
  import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
41
43
  import "../Calculators/ApyCalculator/ApyCalculator.css.js";
@@ -44,7 +46,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
44
46
  import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
45
47
  import "../Input/PercentageInput.js";
46
48
  import { useForm, FormProvider } from "react-hook-form";
47
- import { z } from "zod";
48
49
  import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
49
50
  import { iconForm, headerContainer, headerForm, email_only_h2, form, descriptionField, actions, email_only_btn, formWrapper, disclosureForm, formContainer, email_only_padding } from "./Forms.css.js";
50
51
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
@@ -75,13 +76,12 @@ import "../Auth/SignInPassword.js";
75
76
  /* empty css */
76
77
  /* empty css */
77
78
  import "../Carousel/index.js";
78
- import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
79
79
  /* empty css */
80
80
  import "../Chatbot/store/chat.js";
81
81
  import "../Chatbot/authenticate.js";
82
+ import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
82
83
  /* empty css */
83
84
  import "../Chatbot/store/messages.js";
84
- import "@ujet/websdk-headless";
85
85
  /* empty css */
86
86
  import "../Comparison/Comparison.css.js";
87
87
  import "next/image.js";
@@ -150,8 +150,9 @@ const EmailOnly = ({
150
150
  onValidate,
151
151
  id
152
152
  }) => {
153
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
153
154
  const schema = z.object({
154
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val))
155
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." })
155
156
  });
156
157
  const gen_schema = schema.merge(SalesforceSchema).merge(honeyPotSchema).superRefine((data, ctx) => {
157
158
  if (!isValidHoneyPot(data)) {
@@ -18,12 +18,13 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
18
18
  /* empty css */
19
19
  /* empty css */
20
20
  import "../utils/allowedAxosDomains.js";
21
+ import * as z from "zod";
21
22
  import { associatedEmail } from "../utils/EverestValidity.js";
22
23
  import { getVariant } from "../utils/getVariant.js";
24
+ import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
23
25
  import clsx from "clsx";
24
26
  import { useForm, FormProvider } from "react-hook-form";
25
- import * as z from "zod";
26
- import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
27
+ import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
27
28
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
28
29
  const EmailUs = ({
29
30
  icon = false,
@@ -40,8 +41,9 @@ const EmailUs = ({
40
41
  description,
41
42
  id
42
43
  }) => {
44
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
43
45
  const schema = z.object({
44
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
46
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
45
47
  message: z.string().min(2, "Message is required")
46
48
  });
47
49
  const gen_schema = schema.merge(honeyPotSchema).superRefine((data, ctx) => {
@@ -98,7 +100,7 @@ const EmailUs = ({
98
100
  },
99
101
  children: [
100
102
  /* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant, formType: "email" })), children: [
101
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
103
+ /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsx(
102
104
  Input,
103
105
  {
104
106
  id: "email",
@@ -116,7 +118,7 @@ const EmailUs = ({
116
118
  variant
117
119
  }
118
120
  ) }),
119
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
121
+ /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsx(
120
122
  InputTextArea,
121
123
  {
122
124
  id: "message",