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

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 (108) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -2
  2. package/dist/Auth/ErrorAlert.js +0 -1
  3. package/dist/Auth/SignInPassword.js +2 -2
  4. package/dist/Avatar/Avatar.module.js +7 -7
  5. package/dist/Blockquote/Blockquote.module.js +3 -3
  6. package/dist/BulletItem/BulletItem.js +1 -0
  7. package/dist/Button/Button.js +0 -1
  8. package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
  9. package/dist/Calculators/BuyDownCalculator/index.js +1 -1
  10. package/dist/Calculators/Calculator.js +2 -3
  11. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
  12. package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
  13. package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
  14. package/dist/Carousel/index.js +0 -1
  15. package/dist/Chatbot/ChatWindow.css.d.ts +1 -0
  16. package/dist/Chatbot/ChatWindow.css.js +13 -12
  17. package/dist/Chatbot/ChatWindow.js +87 -66
  18. package/dist/Chatbot/Chatbot.css.js +1 -0
  19. package/dist/Chatbot/Chatbot.d.ts +1 -1
  20. package/dist/Chatbot/Chatbot.js +46 -10
  21. package/dist/Chatbot/index.js +2 -1
  22. package/dist/Chevron/index.js +0 -1
  23. package/dist/Comparison/Comparison.js +0 -1
  24. package/dist/ExecutiveBio/ExecutiveBio.js +351 -355
  25. package/dist/FaqAccordion/index.js +0 -1
  26. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +0 -1
  27. package/dist/Forms/ApplicationStart.js +4 -2
  28. package/dist/Forms/ApplyNow.js +1 -2
  29. package/dist/Forms/ClearingForm.js +4 -2
  30. package/dist/Forms/CommercialDeposits.js +4 -2
  31. package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
  32. package/dist/Forms/CommercialLending.js +4 -2
  33. package/dist/Forms/CommercialPremiumFinance.js +4 -2
  34. package/dist/Forms/ContactCompany.js +4 -2
  35. package/dist/Forms/ContactCompanyTitle.js +4 -2
  36. package/dist/Forms/ContactUs.js +4 -2
  37. package/dist/Forms/ContactUsAAS.js +4 -2
  38. package/dist/Forms/ContactUsBusiness.js +4 -3
  39. package/dist/Forms/ContactUsBusinessNameEmail.js +4 -3
  40. package/dist/Forms/ContactUsLVF.js +4 -2
  41. package/dist/Forms/ContactUsNMLSId.js +4 -3
  42. package/dist/Forms/CpraRequest.d.ts +1 -1
  43. package/dist/Forms/CpraRequest.js +5 -2
  44. package/dist/Forms/CraPublicFile.js +4 -3
  45. package/dist/Forms/DealerServices.js +4 -2
  46. package/dist/Forms/EmailOnly.js +4 -3
  47. package/dist/Forms/EmailUs.js +7 -5
  48. package/dist/Forms/HoneyPot/index.js +2 -1
  49. package/dist/Forms/MortgageRate/MortgageRateForm.js +4 -3
  50. package/dist/Forms/MortgageRate/MortgageRateWatch.js +0 -1
  51. package/dist/Forms/MortgageWarehouseLending.js +4 -3
  52. package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
  53. package/dist/Forms/ScheduleCall.js +4 -2
  54. package/dist/Forms/ScheduleCallPremier.js +4 -2
  55. package/dist/Forms/SuccesForm.js +2 -3
  56. package/dist/Forms/VendorQuestionnaire.js +6 -2
  57. package/dist/Forms/index.js +1 -0
  58. package/dist/Hyperlink/index.js +0 -1
  59. package/dist/ImageLink/ImageLink.js +1 -2
  60. package/dist/ImageLink/ImageLinkSet.js +0 -1
  61. package/dist/ImageLink/index.js +0 -1
  62. package/dist/Insight/Featured/CategorySelector.js +0 -1
  63. package/dist/Insight/Featured/Featured.js +0 -1
  64. package/dist/Insight/Featured/Header.js +0 -1
  65. package/dist/LoadingIndicator/index.js +1 -0
  66. package/dist/Modal/Modal.js +0 -1
  67. package/dist/Modal/contextApi/store.js +1 -1
  68. package/dist/NavigationMenu/AxosALTS/NavData.js +0 -1
  69. package/dist/NavigationMenu/AxosALTS/index.js +0 -1
  70. package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
  71. package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
  72. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +16 -16
  73. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +0 -1
  74. package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -39
  75. package/dist/NavigationMenu/AxosBank/NavData.js +0 -1
  76. package/dist/NavigationMenu/AxosBank/SubNavBar.js +7 -6
  77. package/dist/NavigationMenu/AxosBank/index.js +0 -1
  78. package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
  79. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
  80. package/dist/NavigationMenu/LaVictoire/NavData.js +0 -1
  81. package/dist/NavigationMenu/LaVictoire/index.js +0 -1
  82. package/dist/NavigationMenu/NavDataJson.js +0 -1
  83. package/dist/NavigationMenu/Navbar.js +0 -1
  84. package/dist/NavigationMenu/SignInNavButton.js +0 -1
  85. package/dist/SetContainer/SetContainer.js +1 -2
  86. package/dist/SocialMediaBar/iconsRepository.js +0 -1
  87. package/dist/Tab/Tab.js +1 -0
  88. package/dist/VideoTile/VideoTile.js +0 -1
  89. package/dist/VideoWrapper/index.js +0 -1
  90. package/dist/assets/Avatar/Avatar.css.css +59 -59
  91. package/dist/assets/Blockquote/Blockquote.css.css +72 -72
  92. package/dist/assets/Chatbot/ChatWindow.css +38 -26
  93. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +609 -609
  94. package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css.css +630 -630
  95. package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +192 -192
  96. package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +445 -445
  97. package/dist/assets/NavigationMenu/AxosClearing/NavBar.css.css +484 -484
  98. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +427 -427
  99. package/dist/main.js +10 -2
  100. package/dist/utils/emailValidation.d.ts +1 -0
  101. package/dist/utils/emailValidation.js +31 -0
  102. package/dist/utils/index.d.ts +4 -1
  103. package/dist/utils/index.js +9 -1
  104. package/dist/utils/nmlsValidation.d.ts +1 -0
  105. package/dist/utils/nmlsValidation.js +34 -0
  106. package/dist/utils/useCachedValidators.d.ts +2 -0
  107. package/dist/utils/useCachedValidators.js +22 -0
  108. package/package.json +136 -136
@@ -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";
@@ -81,7 +82,6 @@ import "../Chatbot/authenticate.js";
81
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",
@@ -11,8 +11,9 @@ import "../../Input/InputTextArea.js";
11
11
  import "../../Input/DownPaymentInput.js";
12
12
  import "../../Input/RadioButton.js";
13
13
  import "../../utils/allowedAxosDomains.js";
14
- import { getVariant } from "../../utils/getVariant.js";
15
14
  import { z } from "zod";
15
+ import { getVariant } from "../../utils/getVariant.js";
16
+ import "react";
16
17
  import { form_field_container } from "./HoneyPot.css.js";
17
18
  const honeyPotSchema = z.object({
18
19
  AlternativeEmail: z.string().refine((val) => val === "bestbank@axos.com"),
@@ -12,8 +12,10 @@ import '../../assets/VideoWrapper/VideoWrapper.css';import '../../assets/Topical
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  import "../../utils/allowedAxosDomains.js";
15
+ import * as z from "zod";
15
16
  import { associatedEmail } from "../../utils/EverestValidity.js";
16
17
  import { getVariant } from "../../utils/getVariant.js";
18
+ import { useCachedEmailValidator } from "../../utils/useCachedValidators.js";
17
19
  import clsx from "clsx";
18
20
  /* empty css */
19
21
  /* empty css */
@@ -43,7 +45,6 @@ import { DownPaymentInput } from "../../Input/DownPaymentInput.js";
43
45
  import "../../Input/RadioButton.js";
44
46
  import "../../Input/PercentageInput.js";
45
47
  import { useForm, FormProvider } from "react-hook-form";
46
- import * as z from "zod";
47
48
  import "../../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
48
49
  import { iconForm, headerForm, form, descriptionField, headerContainer, fullRowSelect, formWrapper, centerSelect, mt2rem, fullRowForm, disclosureForm, actions, formBtns, na_cursor, formContainer } from "../Forms.css.js";
49
50
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "../HoneyPot/index.js";
@@ -81,7 +82,6 @@ import "../../Chatbot/authenticate.js";
81
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";
@@ -160,6 +160,7 @@ const MortgageRate = ({
160
160
  const [_downPayment, setDownPayment] = useState(0);
161
161
  const [isTypingDownPayment, setIsTypingDownPayment] = useState(false);
162
162
  const [salesPriceVal, setSalesPriceVal] = useState(0);
163
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
163
164
  const schema = z.object({
164
165
  firstName: z.string({ message: "First Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
165
166
  message: "First Name is required."
@@ -167,7 +168,7 @@ const MortgageRate = ({
167
168
  lastName: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
168
169
  message: "Last Name is required."
169
170
  }).trim().min(1, { message: "Last Name is required." }),
170
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
171
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
171
172
  phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, { message: "Phone is required." }).min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
172
173
  const removeDashes = val.replace(/-/gi, "");
173
174
  if (removeDashes.length !== 10) {
@@ -77,7 +77,6 @@ import "../../Chatbot/authenticate.js";
77
77
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
78
78
  /* empty css */
79
79
  import "../../Chatbot/store/messages.js";
80
- import "@ujet/websdk-headless";
81
80
  /* empty css */
82
81
  import "../../Comparison/Comparison.css.js";
83
82
  import "next/image.js";
@@ -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";
@@ -80,7 +81,6 @@ import "../Chatbot/authenticate.js";
80
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 MortgageWarehouseLending = ({
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) {
@@ -26,12 +26,13 @@ import '../../assets/icons/FollowIcon/FollowIcon.css';import '../../assets/icons
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, useCachedNMLSValidator } from "../../utils/useCachedValidators.js";
31
33
  import { format } from "@react-input/number-format";
32
34
  import clsx from "clsx";
33
35
  import { useForm, FormProvider } from "react-hook-form";
34
- import * as z from "zod";
35
36
  import { BrokerConpensation, PrepaymentPenalty, NumberOfUnits, Occupancy, PropertyType, BankruptcySeasoning, BankruptcyType, HousingEventHistory, HousingEventType, MortgageLates24, MortgageLates12, Citizenship, DocType, RepresentativesFico, Purposes } from "../FormEnums.js";
36
37
  import { iconForm, headerContainer, headerForm, form, descriptionField, one_row, section_title, checkbox_group, formWrapper, disclosureForm, actions, formContainer } from "../Forms.css.js";
37
38
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "../HoneyPot/index.js";
@@ -60,6 +61,8 @@ const QuickPricer = ({
60
61
  const [bankruptcySeasoning, setBankruptcySeasoning] = useState(false);
61
62
  const [numberOfUnits, setNumberOfUnits] = useState(false);
62
63
  const [prepaymentPenalty, setPrepaymentPenalty] = useState(false);
64
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
65
+ const cachedNMLSValidator = useCachedNMLSValidator(validateNMLS);
63
66
  const schema = z.object({
64
67
  Base_Loan_Amount__c: z.string({
65
68
  message: "Please provide a valid base loan amount"
@@ -169,11 +172,8 @@ const QuickPricer = ({
169
172
  message: "Broker compensation is required"
170
173
  }
171
174
  ),
172
- NMLS__c: z.string().min(4, "Valid NMLS should have at least 4 characters").max(15, "Valid NMLS should have at most 15 characters").refine(async (val) => {
173
- const res = await validateNMLS(val);
174
- return res?.body?.data?.records?.length > 0;
175
- }, "NMLS ID is not valid"),
176
- Email_Address__c: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
175
+ NMLS__c: z.string().min(4, "Valid NMLS should have at least 4 characters").max(15, "Valid NMLS should have at most 15 characters").refine(cachedNMLSValidator, "NMLS ID is not valid"),
176
+ Email_Address__c: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
177
177
  Cell_Phone__c: z.string().regex(/[\d-]{10}/).min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
178
178
  const removeDashes = val.replace(/-/gi, "");
179
179
  if (removeDashes.length !== 10) {
@@ -216,10 +216,14 @@ const QuickPricer = ({
216
216
  }
217
217
  });
218
218
  const methods = useForm({
219
- resolver: zodResolver(gen_schema, {
220
- async: true
221
- }),
222
- mode: "all",
219
+ resolver: zodResolver(
220
+ gen_schema,
221
+ {
222
+ async: true
223
+ },
224
+ { mode: "async" }
225
+ ),
226
+ mode: "onChange",
223
227
  reValidateMode: "onChange",
224
228
  defaultValues: {
225
229
  Cash_Out_Amount__c: format(0),
@@ -236,7 +240,7 @@ const QuickPricer = ({
236
240
  const {
237
241
  handleSubmit,
238
242
  register,
239
- formState: { errors, isValid },
243
+ formState: { errors, isValid, isValidating },
240
244
  setValue
241
245
  } = methods;
242
246
  const submitForm = async (data) => {
@@ -875,7 +879,7 @@ const QuickPricer = ({
875
879
  color: getVariant(callToAction?.variant),
876
880
  as: "button",
877
881
  type: "submit",
878
- disabled: !isValid,
882
+ disabled: !isValid || isValidating,
879
883
  children: callToAction?.displayText
880
884
  }
881
885
  ) })
@@ -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 ScheduleCall = ({
49
50
  id,
50
51
  description
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,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, fullRowForm, 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,10 +51,11 @@ const ScheduleCallPremier = ({
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().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
55
57
  last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
56
- email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
58
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
57
59
  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) => {
58
60
  const removeDashes = val.replace(/-/gi, "");
59
61
  if (removeDashes.length !== 10) {
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import "../utils/allowedAxosDomains.js";
3
3
  import { getVariant } from "../utils/getVariant.js";
4
+ import "react";
4
5
  import clsx from "clsx";
5
6
  import "@hookform/resolvers/zod";
6
7
  import "../IconBillboard/IconBillboard.css.js";
@@ -16,7 +17,6 @@ import '../assets/Forms/QuickPricer/UserInformation.css';import '../assets/Forms
16
17
  import "../Accordion/Accordion.js";
17
18
  import "../Accordion/Accordion.css.js";
18
19
  import "../AlertBanner/AlertBanner.css.js";
19
- import "react";
20
20
  import "../Article/Article.css.js";
21
21
  import "../ArticlesSet/ArticlesSet.css.js";
22
22
  import "../Calculators/calculator.css.js";
@@ -61,11 +61,10 @@ import "../Carousel/index.js";
61
61
  /* empty css */
62
62
  import "../Chatbot/store/chat.js";
63
63
  import "../Chatbot/authenticate.js";
64
- import "react-use";
65
64
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
65
+ import "react-use";
66
66
  /* empty css */
67
67
  import "../Chatbot/store/messages.js";
68
- import "@ujet/websdk-headless";
69
68
  /* empty css */
70
69
  import "../Comparison/Comparison.css.js";
71
70
  import "next/image.js";
@@ -17,10 +17,11 @@ import { InputTextArea } from "../Input/InputTextArea.js";
17
17
  import "../Input/DownPaymentInput.js";
18
18
  import "../Input/RadioButton.js";
19
19
  import "../utils/allowedAxosDomains.js";
20
+ import { z } from "zod";
20
21
  import { getVariant } from "../utils/getVariant.js";
22
+ import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
21
23
  import clsx from "clsx";
22
24
  import { useForm, FormProvider } from "react-hook-form";
23
- import { z } from "zod";
24
25
  import { form, form_row, descriptionField, formWrapper, actions, formContainer } from "./Forms.css.js";
25
26
  import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
26
27
  const VendorQuestionnaire = ({
@@ -34,6 +35,7 @@ const VendorQuestionnaire = ({
34
35
  callToAction,
35
36
  id
36
37
  }) => {
38
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
37
39
  const schema = z.object({
38
40
  "name/0-2": z.string().min(1, { message: "Please complete this required field." }),
39
41
  "dba/0-2": z.string(),
@@ -87,7 +89,9 @@ const VendorQuestionnaire = ({
87
89
  "firstname/0-1": z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).min(1, { message: "Please complete this required field." }),
88
90
  "lastname/0-1": z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).min(1, { message: "Please complete this required field." }),
89
91
  "jobtitle/0-1": z.string().min(1, { message: "Please complete this required field." }),
90
- "email/0-1": z.string().email({ message: "Please complete this required field." }).refine(async (val) => await validateEmail(val))
92
+ "email/0-1": z.string().email({ message: "Please complete this required field." }).refine(cachedEmailValidator, {
93
+ message: "Invalid email address."
94
+ })
91
95
  });
92
96
  const gen_schema = schema.merge(honeyPotSchema).superRefine((data, ctx) => {
93
97
  if (!isValidHoneyPot(data)) {
@@ -26,6 +26,7 @@ import { MortgageRate } from "./MortgageRate/MortgageRateForm.js";
26
26
  import "react/jsx-runtime";
27
27
  import { RateWatchForm } from "./MortgageRate/MortgageRateWatch.js";
28
28
  import "../utils/allowedAxosDomains.js";
29
+ import "react";
29
30
  import "../LoadingIndicator/LoadingIndicator.css.js";
30
31
  import "../Interstitial/Interstitial-variants.css.js";
31
32
  import { MortgageRateFilters } from "./MortgageRate/MortgageRateQuoteFilters.js";
@@ -73,7 +73,6 @@ import "../Chatbot/authenticate.js";
73
73
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
74
74
  /* empty css */
75
75
  import "../Chatbot/store/messages.js";
76
- import "@ujet/websdk-headless";
77
76
  /* empty css */
78
77
  import "../Comparison/Comparison.css.js";
79
78
  import "next/image.js";
@@ -9,13 +9,13 @@ import '../assets/VideoWrapper/VideoWrapper.css';import '../assets/TopicalNavSet
9
9
  /* empty css */
10
10
  /* empty css */
11
11
  import "../utils/allowedAxosDomains.js";
12
+ import { isValidElement } from "react";
12
13
  import "clsx";
13
14
  /* empty css */
14
15
  /* empty css */
15
16
  import "../Accordion/Accordion.js";
16
17
  import "../Accordion/Accordion.css.js";
17
18
  import "../AlertBanner/AlertBanner.css.js";
18
- import { isValidElement } from "react";
19
19
  import "../Article/Article.css.js";
20
20
  import "../ArticlesSet/ArticlesSet.css.js";
21
21
  import "../Calculators/calculator.css.js";
@@ -72,7 +72,6 @@ import "../Chatbot/authenticate.js";
72
72
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
73
73
  /* empty css */
74
74
  import "../Chatbot/store/messages.js";
75
- import "@ujet/websdk-headless";
76
75
  /* empty css */
77
76
  import "../Comparison/Comparison.css.js";
78
77
  import "../Tab/Tab.css.js";
@@ -79,7 +79,6 @@ import "../Chatbot/authenticate.js";
79
79
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
80
80
  /* empty css */
81
81
  import "../Chatbot/store/messages.js";
82
- import "@ujet/websdk-headless";
83
82
  /* empty css */
84
83
  import "../Comparison/Comparison.css.js";
85
84
  import "../Tab/Tab.css.js";
@@ -71,7 +71,6 @@ import "../Chatbot/authenticate.js";
71
71
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
72
72
  /* empty css */
73
73
  import "../Chatbot/store/messages.js";
74
- import "@ujet/websdk-headless";
75
74
  /* empty css */
76
75
  import "../Comparison/Comparison.css.js";
77
76
  import "next/image.js";
@@ -75,7 +75,6 @@ import "../../Chatbot/authenticate.js";
75
75
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
76
76
  /* empty css */
77
77
  import "../../Chatbot/store/messages.js";
78
- import "@ujet/websdk-headless";
79
78
  /* empty css */
80
79
  import "../../Comparison/Comparison.css.js";
81
80
  import "next/image.js";
@@ -76,7 +76,6 @@ import "../../Chatbot/authenticate.js";
76
76
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
77
77
  /* empty css */
78
78
  import "../../Chatbot/store/messages.js";
79
- import "@ujet/websdk-headless";
80
79
  /* empty css */
81
80
  import "../../Comparison/Comparison.css.js";
82
81
  import Image from "next/image.js";
@@ -74,7 +74,6 @@ import "../../Chatbot/authenticate.js";
74
74
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
75
75
  /* empty css */
76
76
  import "../../Chatbot/store/messages.js";
77
- import "@ujet/websdk-headless";
78
77
  /* empty css */
79
78
  import "../../Comparison/Comparison.css.js";
80
79
  import "next/image.js";
@@ -1,6 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import "../utils/allowedAxosDomains.js";
3
3
  import { getVariant } from "../utils/getVariant.js";
4
+ import "react";
4
5
  import { loader } from "./LoadingIndicator.css.js";
5
6
  const LoadingIndicator = ({
6
7
  width = 50,
@@ -74,7 +74,6 @@ import "../Chatbot/authenticate.js";
74
74
  import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
75
75
  /* empty css */
76
76
  import "../Chatbot/store/messages.js";
77
- import "@ujet/websdk-headless";
78
77
  /* empty css */
79
78
  import "../Comparison/Comparison.css.js";
80
79
  import "next/image.js";
@@ -2,8 +2,8 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { Modal } from "../Modal.js";
4
4
  import "../../utils/allowedAxosDomains.js";
5
- import { shortUrl } from "../../utils/validateExternalLinks.js";
6
5
  import { createContext, useContext, useState } from "react";
6
+ import { shortUrl } from "../../utils/validateExternalLinks.js";
7
7
  const GlobalContext = createContext({
8
8
  targetLinkUrl: "",
9
9
  setTargetLinkUrl: () => "",
@@ -74,7 +74,6 @@ import "../../Chatbot/authenticate.js";
74
74
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
75
75
  /* empty css */
76
76
  import "../../Chatbot/store/messages.js";
77
- import "@ujet/websdk-headless";
78
77
  /* empty css */
79
78
  import "../../Comparison/Comparison.css.js";
80
79
  import "next/image.js";
@@ -75,7 +75,6 @@ import "../../Chatbot/authenticate.js";
75
75
  import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
76
76
  /* empty css */
77
77
  import "../../Chatbot/store/messages.js";
78
- import "@ujet/websdk-headless";
79
78
  /* empty css */
80
79
  import "../../Comparison/Comparison.css.js";
81
80
  import "next/image.js";
@@ -1,55 +1,55 @@
1
- import '../../assets/NavigationMenu/AxosAdvisor/NavBar.css.css';const header = "_header_9w33l_1";
2
- const wrapper = "_wrapper_9w33l_5";
3
- const header_main_row = "_header_main_row_9w33l_10";
4
- const mobile_header = "_mobile_header_9w33l_11";
5
- const logo_wrap = "_logo_wrap_9w33l_17";
6
- const primary_links = "_primary_links_9w33l_21";
7
- const main_nav_link = "_main_nav_link_9w33l_25";
8
- const sub_nav_link = "_sub_nav_link_9w33l_57";
9
- const signin_wrap = "_signin_wrap_9w33l_59";
10
- const signin_btn = "_signin_btn_9w33l_60";
11
- const header_sub_row = "_header_sub_row_9w33l_98";
12
- const signin_dropdown = "_signin_dropdown_9w33l_118";
13
- const shadow = "_shadow_9w33l_128";
14
- const signin_header = "_signin_header_9w33l_136";
15
- const signin_subheader = "_signin_subheader_9w33l_143";
16
- const opacity = "_opacity_9w33l_165";
17
- const fadeInDown = "_fadeInDown_9w33l_1";
18
- const footer = "_footer_9w33l_171";
19
- const open = "_open_9w33l_187";
20
- const dd_wrapper = "_dd_wrapper_9w33l_199";
21
- const dd_media = "_dd_media_9w33l_204";
22
- const dd_media_img = "_dd_media_img_9w33l_209";
23
- const dd_site_navs = "_dd_site_navs_9w33l_213";
24
- const dd_media_header = "_dd_media_header_9w33l_220";
25
- const mt_8 = "_mt_8_9w33l_229";
26
- const mt_16 = "_mt_16_9w33l_233";
27
- const ml_8 = "_ml_8_9w33l_237";
28
- const dd_media_cta = "_dd_media_cta_9w33l_241";
29
- const reversed_row = "_reversed_row_9w33l_255";
30
- const headline = "_headline_9w33l_271";
31
- const nav_anchor = "_nav_anchor_9w33l_277";
32
- const headline_cta = "_headline_cta_9w33l_285";
33
- const site_lists = "_site_lists_9w33l_300";
34
- const hamburger = "_hamburger_9w33l_335";
35
- const mobile_only = "_mobile_only_9w33l_349";
36
- const mobile_logo = "_mobile_logo_9w33l_355";
37
- const highlight = "_highlight_9w33l_360";
38
- const mobile_nav = "_mobile_nav_9w33l_396";
39
- const mobile_opened = "_mobile_opened_9w33l_407";
40
- const mobile_nav_item = "_mobile_nav_item_9w33l_415";
41
- const has_dropdown = "_has_dropdown_9w33l_430";
42
- const icon_wrap = "_icon_wrap_9w33l_451";
43
- const mobile_footer = "_mobile_footer_9w33l_456";
44
- const mobile_footer_content = "_mobile_footer_content_9w33l_461";
45
- const mobile_footer_media = "_mobile_footer_media_9w33l_476";
46
- const footer_cta = "_footer_cta_9w33l_482";
47
- const inner_wrapper = "_inner_wrapper_9w33l_510";
48
- const btn = "_btn_9w33l_515";
49
- const sub_menu = "_sub_menu_9w33l_520";
50
- const main = "_main_9w33l_25";
51
- const dd_footer = "_dd_footer_9w33l_545";
52
- const desktop_only = "_desktop_only_9w33l_564";
1
+ import '../../assets/NavigationMenu/AxosAdvisor/NavBar.css.css';const header = "_header_epxpu_1";
2
+ const wrapper = "_wrapper_epxpu_9";
3
+ const header_main_row = "_header_main_row_epxpu_19";
4
+ const mobile_header = "_mobile_header_epxpu_21";
5
+ const logo_wrap = "_logo_wrap_epxpu_33";
6
+ const primary_links = "_primary_links_epxpu_41";
7
+ const main_nav_link = "_main_nav_link_epxpu_49";
8
+ const sub_nav_link = "_sub_nav_link_epxpu_113";
9
+ const signin_wrap = "_signin_wrap_epxpu_117";
10
+ const signin_btn = "_signin_btn_epxpu_119";
11
+ const header_sub_row = "_header_sub_row_epxpu_195";
12
+ const signin_dropdown = "_signin_dropdown_epxpu_235";
13
+ const shadow = "_shadow_epxpu_255";
14
+ const signin_header = "_signin_header_epxpu_271";
15
+ const signin_subheader = "_signin_subheader_epxpu_285";
16
+ const opacity = "_opacity_epxpu_329";
17
+ const fadeInDown = "_fadeInDown_epxpu_1";
18
+ const footer = "_footer_epxpu_341";
19
+ const open = "_open_epxpu_373";
20
+ const dd_wrapper = "_dd_wrapper_epxpu_397";
21
+ const dd_media = "_dd_media_epxpu_407";
22
+ const dd_media_img = "_dd_media_img_epxpu_417";
23
+ const dd_site_navs = "_dd_site_navs_epxpu_425";
24
+ const dd_media_header = "_dd_media_header_epxpu_439";
25
+ const mt_8 = "_mt_8_epxpu_457";
26
+ const mt_16 = "_mt_16_epxpu_465";
27
+ const ml_8 = "_ml_8_epxpu_473";
28
+ const dd_media_cta = "_dd_media_cta_epxpu_481";
29
+ const reversed_row = "_reversed_row_epxpu_509";
30
+ const headline = "_headline_epxpu_541";
31
+ const nav_anchor = "_nav_anchor_epxpu_553";
32
+ const headline_cta = "_headline_cta_epxpu_569";
33
+ const site_lists = "_site_lists_epxpu_599";
34
+ const hamburger = "_hamburger_epxpu_669";
35
+ const mobile_only = "_mobile_only_epxpu_697";
36
+ const mobile_logo = "_mobile_logo_epxpu_709";
37
+ const highlight = "_highlight_epxpu_719";
38
+ const mobile_nav = "_mobile_nav_epxpu_791";
39
+ const mobile_opened = "_mobile_opened_epxpu_813";
40
+ const mobile_nav_item = "_mobile_nav_item_epxpu_829";
41
+ const has_dropdown = "_has_dropdown_epxpu_859";
42
+ const icon_wrap = "_icon_wrap_epxpu_901";
43
+ const mobile_footer = "_mobile_footer_epxpu_911";
44
+ const mobile_footer_content = "_mobile_footer_content_epxpu_921";
45
+ const mobile_footer_media = "_mobile_footer_media_epxpu_951";
46
+ const footer_cta = "_footer_cta_epxpu_963";
47
+ const inner_wrapper = "_inner_wrapper_epxpu_1019";
48
+ const btn = "_btn_epxpu_1029";
49
+ const sub_menu = "_sub_menu_epxpu_1039";
50
+ const main = "_main_epxpu_49";
51
+ const dd_footer = "_dd_footer_epxpu_1089";
52
+ const desktop_only = "_desktop_only_epxpu_1127";
53
53
  const styles = {
54
54
  header,
55
55
  wrapper,