@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.
- package/dist/ATMLocator/ATMLocator.js +2 -3
- package/dist/Auth/ErrorAlert.js +1 -2
- package/dist/Auth/SignInPassword.js +2 -2
- package/dist/BulletItem/BulletItem.js +1 -0
- package/dist/Button/Button.js +1 -2
- package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
- package/dist/Calculators/BuyDownCalculator/index.js +1 -1
- package/dist/Calculators/Calculator.js +2 -3
- 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/Carousel/index.js +1 -2
- package/dist/Chatbot/Bubble.css.js +0 -1
- package/dist/Chatbot/ChatWindow.css.d.ts +1 -0
- package/dist/Chatbot/ChatWindow.css.js +14 -11
- package/dist/Chatbot/ChatWindow.js +87 -66
- package/dist/Chatbot/Chatbot.d.ts +1 -1
- package/dist/Chatbot/Chatbot.js +46 -10
- package/dist/Chatbot/index.js +2 -1
- package/dist/Chevron/index.js +1 -2
- package/dist/Comparison/Comparison.js +1 -2
- package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +0 -136
- package/dist/ExecutiveBio/ExecutiveBio.css.js +0 -46
- package/dist/ExecutiveBio/ExecutiveBio.d.ts +1 -1
- package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +4 -10
- package/dist/ExecutiveBio/ExecutiveBio.js +86 -331
- package/dist/ExecutiveBio/index.js +1 -24
- package/dist/FaqAccordion/index.js +1 -2
- package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -2
- package/dist/Forms/ApplicationStart.js +4 -2
- package/dist/Forms/ApplyNow.js +2 -3
- 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 +5 -4
- package/dist/Forms/ContactUsBusinessNameEmail.js +5 -4
- package/dist/Forms/ContactUsLVF.js +4 -2
- package/dist/Forms/ContactUsNMLSId.js +5 -4
- package/dist/Forms/CpraRequest.d.ts +1 -1
- package/dist/Forms/CpraRequest.js +5 -2
- package/dist/Forms/CraPublicFile.js +5 -4
- package/dist/Forms/DealerServices.js +4 -2
- package/dist/Forms/EmailOnly.js +5 -4
- package/dist/Forms/EmailUs.js +7 -5
- package/dist/Forms/HoneyPot/index.js +2 -1
- package/dist/Forms/MortgageRate/MortgageRateForm.js +6 -5
- package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -2
- package/dist/Forms/MortgageWarehouseLending.js +5 -4
- 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 -3
- package/dist/Forms/VendorQuestionnaire.js +6 -2
- package/dist/Forms/index.js +1 -0
- package/dist/Hyperlink/index.js +1 -2
- package/dist/ImageLink/ImageLink.js +2 -3
- package/dist/ImageLink/ImageLinkSet.js +1 -2
- package/dist/ImageLink/index.js +1 -2
- package/dist/Insight/Featured/CategorySelector.js +1 -2
- package/dist/Insight/Featured/Featured.js +1 -2
- package/dist/Insight/Featured/Header.js +1 -2
- package/dist/LoadingIndicator/index.js +1 -0
- package/dist/Modal/Modal.js +1 -2
- package/dist/Modal/contextApi/store.js +1 -1
- package/dist/NavigationMenu/AxosALTS/NavData.js +1 -2
- package/dist/NavigationMenu/AxosALTS/index.js +1 -2
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +1 -2
- package/dist/NavigationMenu/AxosBank/NavData.js +1 -2
- package/dist/NavigationMenu/AxosBank/SubNavBar.js +8 -7
- package/dist/NavigationMenu/AxosBank/index.js +1 -2
- package/dist/NavigationMenu/LaVictoire/NavData.js +1 -2
- package/dist/NavigationMenu/LaVictoire/index.js +1 -2
- package/dist/NavigationMenu/NavDataJson.js +1 -2
- package/dist/NavigationMenu/Navbar.js +1 -2
- package/dist/NavigationMenu/SignInNavButton.js +1 -2
- package/dist/SetContainer/SetContainer.js +2 -3
- package/dist/SocialMediaBar/iconsRepository.js +1 -2
- package/dist/Tab/Tab.js +1 -0
- package/dist/Table/Table.d.ts +1 -1
- package/dist/VideoTile/VideoTile.js +1 -2
- package/dist/VideoWrapper/index.js +1 -2
- package/dist/assets/Chatbot/ChatWindow.css +38 -26
- package/dist/assets/ExecutiveBio/ExecutiveBio.css +0 -239
- package/dist/main.js +11 -26
- 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 +1 -1
|
@@ -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";
|
|
@@ -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";
|
|
@@ -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(
|
|
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) {
|
|
@@ -206,7 +207,7 @@ const MortgageRate = ({
|
|
|
206
207
|
}
|
|
207
208
|
),
|
|
208
209
|
creditScore: z.number({ message: "Credit Score is required." }).positive({ message: "Credit Score is required." }),
|
|
209
|
-
zipCode: z.
|
|
210
|
+
zipCode: z.string().trim().min(1, { message: "Zip Code is required." }).regex(/^\d{5}$/, { message: "ZIP code must be exactly 5 digits" }),
|
|
210
211
|
appraisedValue: z.number({ message: "Home Price is required." }).optional().refine(
|
|
211
212
|
(val) => {
|
|
212
213
|
if (loanPurpose === 2 && val == null) {
|
|
@@ -71,13 +71,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
71
71
|
/* empty css */
|
|
72
72
|
/* empty css */
|
|
73
73
|
import "../../Carousel/index.js";
|
|
74
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
75
74
|
/* empty css */
|
|
76
75
|
import "../../Chatbot/store/chat.js";
|
|
77
76
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -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 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(
|
|
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(
|
|
173
|
-
|
|
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(
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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(
|
|
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(
|
|
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) {
|
package/dist/Forms/SuccesForm.js
CHANGED
|
@@ -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";
|
|
@@ -58,14 +58,13 @@ import "../Auth/SignInPassword.js";
|
|
|
58
58
|
/* empty css */
|
|
59
59
|
/* empty css */
|
|
60
60
|
import "../Carousel/index.js";
|
|
61
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
62
61
|
/* empty css */
|
|
63
62
|
import "../Chatbot/store/chat.js";
|
|
64
63
|
import "../Chatbot/authenticate.js";
|
|
65
64
|
import "react-use";
|
|
65
|
+
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
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(
|
|
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)) {
|
package/dist/Forms/index.js
CHANGED
|
@@ -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";
|
package/dist/Hyperlink/index.js
CHANGED
|
@@ -67,13 +67,12 @@ import "../Auth/SignInPassword.js";
|
|
|
67
67
|
/* empty css */
|
|
68
68
|
/* empty css */
|
|
69
69
|
import "../Carousel/index.js";
|
|
70
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
71
70
|
/* empty css */
|
|
72
71
|
import "../Chatbot/store/chat.js";
|
|
73
72
|
import "../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -66,13 +66,12 @@ import "../Auth/SignInPassword.js";
|
|
|
66
66
|
/* empty css */
|
|
67
67
|
/* empty css */
|
|
68
68
|
import "../Carousel/index.js";
|
|
69
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
70
69
|
/* empty css */
|
|
71
70
|
import "../Chatbot/store/chat.js";
|
|
72
71
|
import "../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -73,13 +73,12 @@ import "../Auth/SignInPassword.js";
|
|
|
73
73
|
/* empty css */
|
|
74
74
|
/* empty css */
|
|
75
75
|
import "../Carousel/index.js";
|
|
76
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
77
76
|
/* empty css */
|
|
78
77
|
import "../Chatbot/store/chat.js";
|
|
79
78
|
import "../Chatbot/authenticate.js";
|
|
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";
|
package/dist/ImageLink/index.js
CHANGED
|
@@ -65,13 +65,12 @@ import "../Auth/SignInPassword.js";
|
|
|
65
65
|
/* empty css */
|
|
66
66
|
/* empty css */
|
|
67
67
|
import "../Carousel/index.js";
|
|
68
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
69
68
|
/* empty css */
|
|
70
69
|
import "../Chatbot/store/chat.js";
|
|
71
70
|
import "../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -69,13 +69,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
69
69
|
/* empty css */
|
|
70
70
|
/* empty css */
|
|
71
71
|
import "../../Carousel/index.js";
|
|
72
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
73
72
|
/* empty css */
|
|
74
73
|
import "../../Chatbot/store/chat.js";
|
|
75
74
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -70,13 +70,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
70
70
|
/* empty css */
|
|
71
71
|
/* empty css */
|
|
72
72
|
import "../../Carousel/index.js";
|
|
73
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
74
73
|
/* empty css */
|
|
75
74
|
import "../../Chatbot/store/chat.js";
|
|
76
75
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -68,13 +68,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
68
68
|
/* empty css */
|
|
69
69
|
/* empty css */
|
|
70
70
|
import "../../Carousel/index.js";
|
|
71
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
72
71
|
/* empty css */
|
|
73
72
|
import "../../Chatbot/store/chat.js";
|
|
74
73
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
package/dist/Modal/Modal.js
CHANGED
|
@@ -68,13 +68,12 @@ import "../Auth/SignInPassword.js";
|
|
|
68
68
|
/* empty css */
|
|
69
69
|
/* empty css */
|
|
70
70
|
import "../Carousel/index.js";
|
|
71
|
-
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
72
71
|
/* empty css */
|
|
73
72
|
import "../Chatbot/store/chat.js";
|
|
74
73
|
import "../Chatbot/authenticate.js";
|
|
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: () => "",
|
|
@@ -68,13 +68,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
68
68
|
/* empty css */
|
|
69
69
|
/* empty css */
|
|
70
70
|
import "../../Carousel/index.js";
|
|
71
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
72
71
|
/* empty css */
|
|
73
72
|
import "../../Chatbot/store/chat.js";
|
|
74
73
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -69,13 +69,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
69
69
|
/* empty css */
|
|
70
70
|
/* empty css */
|
|
71
71
|
import "../../Carousel/index.js";
|
|
72
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
73
72
|
/* empty css */
|
|
74
73
|
import "../../Chatbot/store/chat.js";
|
|
75
74
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -68,13 +68,12 @@ import "../../../Auth/SignInPassword.js";
|
|
|
68
68
|
/* empty css */
|
|
69
69
|
/* empty css */
|
|
70
70
|
import "../../../Carousel/index.js";
|
|
71
|
-
import "../../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
72
71
|
/* empty css */
|
|
73
72
|
import "../../../Chatbot/store/chat.js";
|
|
74
73
|
import "../../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -68,13 +68,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
68
68
|
/* empty css */
|
|
69
69
|
/* empty css */
|
|
70
70
|
import "../../Carousel/index.js";
|
|
71
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
72
71
|
/* empty css */
|
|
73
72
|
import "../../Chatbot/store/chat.js";
|
|
74
73
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -70,13 +70,12 @@ import "../../Auth/SignInPassword.js";
|
|
|
70
70
|
/* empty css */
|
|
71
71
|
/* empty css */
|
|
72
72
|
import "../../Carousel/index.js";
|
|
73
|
-
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
74
73
|
/* empty css */
|
|
75
74
|
import "../../Chatbot/store/chat.js";
|
|
76
75
|
import "../../Chatbot/authenticate.js";
|
|
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";
|
|
@@ -1466,8 +1465,8 @@ function SubNavBar() {
|
|
|
1466
1465
|
className: `${styles.dd_media} ${styles.opacity} ${dd_media} text_center`,
|
|
1467
1466
|
children: [
|
|
1468
1467
|
/* @__PURE__ */ jsxs("div", { className: styles.dd_media_header, children: [
|
|
1469
|
-
/* @__PURE__ */ jsx("p", { role: "heading", children: "
|
|
1470
|
-
/* @__PURE__ */ jsx("p", { className: styles.mt_8, children: "
|
|
1468
|
+
/* @__PURE__ */ jsx("p", { role: "heading", children: "Managed portfolios selection tool" }),
|
|
1469
|
+
/* @__PURE__ */ jsx("p", { className: styles.mt_8, children: "Investing made personal and powerful. Answer a few questions and discover curated stock, mutual fund, and ETF portfolios designed to match your financial lifecycle phase." })
|
|
1471
1470
|
] }),
|
|
1472
1471
|
/* @__PURE__ */ jsx(
|
|
1473
1472
|
"div",
|
|
@@ -1477,7 +1476,7 @@ function SubNavBar() {
|
|
|
1477
1476
|
"img",
|
|
1478
1477
|
{
|
|
1479
1478
|
src: findMoreAxosDomains(
|
|
1480
|
-
"{AXOS}/images/
|
|
1479
|
+
"{AXOS}/images/1Gg7yGe3iY6GFxTSxL3i1u/nav-submenu-managed-portfolios-selection-tool.png"
|
|
1481
1480
|
),
|
|
1482
1481
|
alt: "",
|
|
1483
1482
|
width: 232,
|
|
@@ -1493,8 +1492,10 @@ function SubNavBar() {
|
|
|
1493
1492
|
children: /* @__PURE__ */ jsx(
|
|
1494
1493
|
Link,
|
|
1495
1494
|
{
|
|
1496
|
-
href:
|
|
1497
|
-
|
|
1495
|
+
href: findMoreAxosDomains(
|
|
1496
|
+
"{AXOS}/invest/managed-portfolios/questionnaire"
|
|
1497
|
+
),
|
|
1498
|
+
"aria-label": "learn more about managed portfolios.",
|
|
1498
1499
|
className: `${dd_main_btn} text_center`,
|
|
1499
1500
|
children: "Learn More"
|
|
1500
1501
|
}
|