@axos-web-dev/shared-components 1.0.77-patch.14 → 1.0.77-patch.16
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/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.d.ts +1 -0
- package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js +3 -1
- package/dist/Calculators/AxosOneCalculator/index.d.ts +2 -0
- package/dist/Calculators/AxosOneCalculator/index.js +32 -14
- package/dist/Calculators/Calculator.d.ts +2 -0
- package/dist/Calculators/Calculator.js +4 -2
- package/dist/Forms/MortgageWarehouseLending.d.ts +13 -0
- package/dist/Forms/MortgageWarehouseLending.js +327 -0
- package/dist/Forms/index.d.ts +1 -0
- package/dist/Forms/index.js +2 -0
- package/dist/ImageBillboard/ExitIntentModal/useExitIntentModal.js +6 -1
- package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +12 -0
- package/dist/main.js +2 -0
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ var ax1_header_calc = "_11b2y8zb";
|
|
|
19
19
|
var ax1_calc_text = "_11b2y8zc";
|
|
20
20
|
var ax1_description_text = createRuntimeFn({ defaultClassName: "_11b2y8zd", variantClassNames: { variant: { primary: "_11b2y8ze", secondary: "_11b2y8zf", tertiary: "_11b2y8zg", quaternary: "_11b2y8zh" } }, defaultVariants: {}, compoundVariants: [] });
|
|
21
21
|
var ax1_calc_disclosure = createRuntimeFn({ defaultClassName: "_11b2y8zi", variantClassNames: { variant: { primary: "_11b2y8zj", secondary: "_11b2y8zk", tertiary: "_11b2y8zl", quaternary: "_11b2y8zm" } }, defaultVariants: {}, compoundVariants: [] });
|
|
22
|
+
var call_to_action_row = "_11b2y8zn";
|
|
22
23
|
export {
|
|
23
24
|
ax1_calc_disclosure,
|
|
24
25
|
ax1_calc_icon,
|
|
@@ -34,5 +35,6 @@ export {
|
|
|
34
35
|
ax1_input_container,
|
|
35
36
|
ax1_input_label,
|
|
36
37
|
ax1_m_label,
|
|
37
|
-
ax1_table_container
|
|
38
|
+
ax1_table_container,
|
|
39
|
+
call_to_action_row
|
|
38
40
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { default as React, FC } from 'react';
|
|
2
|
+
import { ChevronProps } from '../../Chevron/Chevron.interface';
|
|
2
3
|
|
|
3
4
|
export interface AxosOneCalculatorProps {
|
|
4
5
|
headline?: React.ReactNode | string;
|
|
@@ -7,5 +8,6 @@ export interface AxosOneCalculatorProps {
|
|
|
7
8
|
disclosure: React.ReactNode | string;
|
|
8
9
|
variant: string;
|
|
9
10
|
initialBalance?: number;
|
|
11
|
+
callToActionRow?: ChevronProps[];
|
|
10
12
|
}
|
|
11
13
|
export declare const AxosOneCalculator: FC<AxosOneCalculatorProps>;
|
|
@@ -18,14 +18,15 @@ import { headerCell } from "../../Table/Table.css.js";
|
|
|
18
18
|
import "../../utils/allowedAxosDomains.js";
|
|
19
19
|
import { getVariant } from "../../utils/getVariant.js";
|
|
20
20
|
import clsx from "clsx";
|
|
21
|
-
import { ax1_calc_icon, ax1_header_container, ax1_header_calc, ax1_calc_text, ax1_description_text, ax1_calculator_wrapper, ax1_input_container, ax1_input_label, ax1_calculator_input, ax1_calculator_button, ax1_d_label, ax1_m_label, ax1_table_container, ax1_calc_disclosure, ax1_container } from "./BalanceAPYCalculator.css.js";
|
|
21
|
+
import { ax1_calc_icon, ax1_header_container, ax1_header_calc, ax1_calc_text, ax1_description_text, ax1_calculator_wrapper, ax1_input_container, ax1_input_label, ax1_calculator_input, ax1_calculator_button, ax1_d_label, ax1_m_label, ax1_table_container, call_to_action_row, ax1_calc_disclosure, ax1_container } from "./BalanceAPYCalculator.css.js";
|
|
22
22
|
const AxosOneCalculator = ({
|
|
23
23
|
headline,
|
|
24
24
|
bodyCopy,
|
|
25
25
|
disclosure,
|
|
26
26
|
icon,
|
|
27
27
|
variant,
|
|
28
|
-
initialBalance
|
|
28
|
+
initialBalance,
|
|
29
|
+
callToActionRow
|
|
29
30
|
}) => {
|
|
30
31
|
const calc_variant = getVariant(variant);
|
|
31
32
|
const AXOS_ONE_APY = +process.env.NEXT_PUBLIC_AXOS_ONE_APY;
|
|
@@ -69,6 +70,18 @@ const AxosOneCalculator = ({
|
|
|
69
70
|
setBalance(0);
|
|
70
71
|
}
|
|
71
72
|
};
|
|
73
|
+
const formatUSD = (value) => {
|
|
74
|
+
if (Number.isInteger(value)) {
|
|
75
|
+
return value.toLocaleString(void 0, {
|
|
76
|
+
minimumFractionDigits: 0,
|
|
77
|
+
maximumFractionDigits: 0
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return value.toLocaleString(void 0, {
|
|
81
|
+
minimumFractionDigits: 2,
|
|
82
|
+
maximumFractionDigits: 2
|
|
83
|
+
});
|
|
84
|
+
};
|
|
72
85
|
return /* @__PURE__ */ jsx("section", { className: clsx(ax1_container), id: "axoapycalc", children: /* @__PURE__ */ jsxs("div", { className: clsx("containment"), children: [
|
|
73
86
|
icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", ax1_calc_icon), children: ["primary", "secondary"].includes(variant) ? /* @__PURE__ */ jsx(SvgComponent, {}) : /* @__PURE__ */ jsx(SvgAxosX, {}) }),
|
|
74
87
|
(headline || bodyCopy) && /* @__PURE__ */ jsxs("div", { className: `${ax1_header_container} text_center`, children: [
|
|
@@ -144,9 +157,7 @@ const AxosOneCalculator = ({
|
|
|
144
157
|
] }) }),
|
|
145
158
|
/* @__PURE__ */ jsx(TableCell, { variant: "primary", children: /* @__PURE__ */ jsxs("b", { children: [
|
|
146
159
|
"$",
|
|
147
|
-
axbEarning
|
|
148
|
-
maximumFractionDigits: 2
|
|
149
|
-
})
|
|
160
|
+
formatUSD(axbEarning)
|
|
150
161
|
] }) })
|
|
151
162
|
] }),
|
|
152
163
|
/* @__PURE__ */ jsxs(TableRow, { children: [
|
|
@@ -160,9 +171,7 @@ const AxosOneCalculator = ({
|
|
|
160
171
|
] }),
|
|
161
172
|
/* @__PURE__ */ jsxs(TableCell, { variant: "primary", children: [
|
|
162
173
|
"$",
|
|
163
|
-
fargoEarning
|
|
164
|
-
maximumFractionDigits: 2
|
|
165
|
-
})
|
|
174
|
+
formatUSD(fargoEarning)
|
|
166
175
|
] })
|
|
167
176
|
] }),
|
|
168
177
|
/* @__PURE__ */ jsxs(TableRow, { children: [
|
|
@@ -176,9 +185,7 @@ const AxosOneCalculator = ({
|
|
|
176
185
|
] }),
|
|
177
186
|
/* @__PURE__ */ jsxs(TableCell, { variant: "primary", children: [
|
|
178
187
|
"$",
|
|
179
|
-
bofaEarning
|
|
180
|
-
maximumFractionDigits: 2
|
|
181
|
-
})
|
|
188
|
+
formatUSD(bofaEarning)
|
|
182
189
|
] })
|
|
183
190
|
] }),
|
|
184
191
|
/* @__PURE__ */ jsxs(TableRow, { children: [
|
|
@@ -192,9 +199,7 @@ const AxosOneCalculator = ({
|
|
|
192
199
|
] }),
|
|
193
200
|
/* @__PURE__ */ jsxs(TableCell, { variant: "primary", children: [
|
|
194
201
|
"$",
|
|
195
|
-
chaseEarning
|
|
196
|
-
maximumFractionDigits: 2
|
|
197
|
-
})
|
|
202
|
+
formatUSD(chaseEarning)
|
|
198
203
|
] })
|
|
199
204
|
] })
|
|
200
205
|
] })
|
|
@@ -202,6 +207,19 @@ const AxosOneCalculator = ({
|
|
|
202
207
|
}
|
|
203
208
|
)
|
|
204
209
|
] }),
|
|
210
|
+
Array.isArray(callToActionRow) && callToActionRow.length > 0 && /* @__PURE__ */ jsx("div", { className: `${call_to_action_row}`, children: callToActionRow?.map(
|
|
211
|
+
({ id, variant: variant2, displayText, targetUrl }) => /* @__PURE__ */ jsx(
|
|
212
|
+
Button,
|
|
213
|
+
{
|
|
214
|
+
targetUrl,
|
|
215
|
+
color: getVariant(variant2),
|
|
216
|
+
size: "medium",
|
|
217
|
+
rounded: "medium",
|
|
218
|
+
children: displayText
|
|
219
|
+
},
|
|
220
|
+
id
|
|
221
|
+
)
|
|
222
|
+
) }),
|
|
205
223
|
disclosure && /* @__PURE__ */ jsx("div", { className: ax1_calc_disclosure({ variant: calc_variant }), children: disclosure })
|
|
206
224
|
] }) });
|
|
207
225
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IconBillboardProps } from '../IconBillboard/IconBillboard.interface';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
|
+
import { ChevronProps } from '../Chevron/Chevron.interface';
|
|
3
4
|
|
|
4
5
|
export interface CalculatorProps {
|
|
5
6
|
id?: string;
|
|
@@ -12,5 +13,6 @@ export interface CalculatorProps {
|
|
|
12
13
|
disclosure?: React.ReactNode;
|
|
13
14
|
marketingTiles?: IconBillboardProps[];
|
|
14
15
|
initialBalance?: number;
|
|
16
|
+
callToActionRow?: ChevronProps[];
|
|
15
17
|
}
|
|
16
18
|
export declare const Calculator: (props: CalculatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -136,7 +136,8 @@ const Calculator = (props) => {
|
|
|
136
136
|
headline,
|
|
137
137
|
name,
|
|
138
138
|
marketingTiles,
|
|
139
|
-
initialBalance
|
|
139
|
+
initialBalance,
|
|
140
|
+
callToActionRow
|
|
140
141
|
} = props;
|
|
141
142
|
const ref = useRef(null);
|
|
142
143
|
const iframe = calculators.get(name || "");
|
|
@@ -228,7 +229,8 @@ const Calculator = (props) => {
|
|
|
228
229
|
variant,
|
|
229
230
|
disclosure,
|
|
230
231
|
icon,
|
|
231
|
-
initialBalance
|
|
232
|
+
initialBalance,
|
|
233
|
+
callToActionRow
|
|
232
234
|
}
|
|
233
235
|
);
|
|
234
236
|
} else if (name === "APY Balance Summit Savings") {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FormProps } from './FormProps';
|
|
2
|
+
|
|
3
|
+
export type MortgageWarehouseLendingInputs = {
|
|
4
|
+
first_name: string;
|
|
5
|
+
last_name: string;
|
|
6
|
+
email: string;
|
|
7
|
+
phone: string;
|
|
8
|
+
Company_NMLS_ID__c: string;
|
|
9
|
+
Business_Name__c: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const MortgageWarehouseLending: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, description, callToAction, validateEmail, id, }: FormProps & {
|
|
12
|
+
disableHoneyPot?: boolean;
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
4
|
+
import "../Input/Checkbox.js";
|
|
5
|
+
import "../Input/CurrencyInput.js";
|
|
6
|
+
import "../Input/Dropdown.js";
|
|
7
|
+
import "../Input/Dropdown.css.js";
|
|
8
|
+
import { Input } from "../Input/Input.js";
|
|
9
|
+
import "../Input/Input.css.js";
|
|
10
|
+
import "../Input/InputAmount.js";
|
|
11
|
+
import { InputPhone } from "../Input/InputPhone.js";
|
|
12
|
+
import "../Input/InputTextArea.js";
|
|
13
|
+
import "../Input/DownPaymentInput.js";
|
|
14
|
+
import "../Input/RadioButton.js";
|
|
15
|
+
import "../icons/ArrowIcon/ArrowIcon.css.js";
|
|
16
|
+
import SvgAxosX from "../icons/AxosX/index.js";
|
|
17
|
+
import SvgComponent from "../icons/AxosX/Blue.js";
|
|
18
|
+
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
19
|
+
import '../assets/VideoWrapper/VideoWrapper.css';import '../assets/TopicalNavSet/TopicalNavSet.css';import '../assets/TopicalNavItem/TopicalNavItem.css';import '../assets/Topic/Topic.css';import '../assets/TextBlock/TextBlock.css';import '../assets/SocialMediaBar/SocialMediaBar.css';import '../assets/SecondaryFooter/SecondaryFooter.css';import '../assets/Pagination/Pagination.css';import '../assets/PageNavSet/PageNavigationSet.css';import '../assets/NavigationMenu/LaVictoire/NavBar.css';import '../assets/NavigationMenu/AxosALTS/NavBar.css';import '../assets/NavigationMenu/AxosClearing/NavBar.css';import '../assets/NavigationMenu/AxosBank/SubNavbar.css';import '../assets/NavigationMenu/AxosBank/NavBar.css';import '../assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisorServices/NavBar.css';import '../assets/NavigationMenu/AxosAdvisor/SubNavbar.css';import '../assets/NavigationMenu/AxosAdvisor/NavBar.css';import '../assets/Insight/Insight.css';import '../assets/Insight/Featured/Header.css';import '../assets/Insight/Featured/CategorySelector.css';import '../assets/Insight/Featured/Featured.css';import '../assets/ImageLink/ImageLink.css';import '../assets/VideoTile/VideoTile.css';import '../assets/HelpArticle/HelpArticle.css';import '../assets/FooterSiteMap/AxosBank/FooterSiteMap.css';import '../assets/FooterDisclosure/LVF/LaVictorieFooter.css';import '../assets/DownloadTile/DownloadTile.css';import '../assets/CollectInformationAlert/CollectInformationAlert.css';import '../assets/CallToActionBar/CallToActionBar.css';import '../assets/AwardsItem/AwardsItem.css';import '../assets/AwardsBanner/AwardsBanner.css';import '../assets/Auth/SignIn.css';import '../assets/Auth/ErrorAlert.css';import '../assets/Calculators/MarginTradingCalculator/MarginTradingCalculator.css';import '../assets/Forms/QuickPricer/UserInformation.css';import '../assets/Modal/Modal.css';import '../assets/Forms/QuickPricer/QuickPricerResults.css';import '../assets/BulletItem/BulletItem.css';import '../assets/Typography/Typography.css';import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/DownloadIcon/DownloadIcon.css';import '../assets/themes/victorie.css';import '../assets/themes/premier.css';import '../assets/themes/axos.css';/* empty css */
|
|
20
|
+
/* empty css */
|
|
21
|
+
/* empty css */
|
|
22
|
+
/* empty css */
|
|
23
|
+
/* empty css */
|
|
24
|
+
import "../Accordion/Accordion.js";
|
|
25
|
+
import "../Accordion/Accordion.css.js";
|
|
26
|
+
import { getVariant } from "../utils/getVariant.js";
|
|
27
|
+
import clsx from "clsx";
|
|
28
|
+
import "react";
|
|
29
|
+
import "../Chevron/Chevron.css.js";
|
|
30
|
+
import "../AlertBanner/AlertBanner.css.js";
|
|
31
|
+
import "../Article/Article.css.js";
|
|
32
|
+
import { Button } from "../Button/Button.js";
|
|
33
|
+
import "../Button/Button.css.js";
|
|
34
|
+
import "react-use";
|
|
35
|
+
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
|
+
import "../IconBillboard/IconBillboard.css.js";
|
|
37
|
+
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import "../Calculators/calculator.css.js";
|
|
39
|
+
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
|
+
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
41
|
+
import "../Table/Table.css.js";
|
|
42
|
+
import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
43
|
+
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
|
+
import "../Input/PercentageInput.js";
|
|
45
|
+
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
+
import { z } from "zod";
|
|
47
|
+
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
|
+
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
|
+
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
50
|
+
/* empty css */
|
|
51
|
+
/* empty css */
|
|
52
|
+
import "../Input/RadioButton.css.js";
|
|
53
|
+
import "../Input/Checkbox.css.js";
|
|
54
|
+
import "../LoadingIndicator/LoadingIndicator.css.js";
|
|
55
|
+
import "../Interstitial/Interstitial-variants.css.js";
|
|
56
|
+
import "../Inputs/Input.css.js";
|
|
57
|
+
/* empty css */
|
|
58
|
+
/* empty css */
|
|
59
|
+
import "../Modal/contextApi/store.js";
|
|
60
|
+
import "../Hyperlink/Hyperlink.css.js";
|
|
61
|
+
/* empty css */
|
|
62
|
+
import "iframe-resizer";
|
|
63
|
+
/* empty css */
|
|
64
|
+
import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
|
|
65
|
+
import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
|
|
66
|
+
import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
|
|
67
|
+
/* empty css */
|
|
68
|
+
import "react-dom";
|
|
69
|
+
/* empty css */
|
|
70
|
+
import "../Auth/SignInPassword.js";
|
|
71
|
+
/* empty css */
|
|
72
|
+
/* empty css */
|
|
73
|
+
/* empty css */
|
|
74
|
+
import "../Carousel/index.js";
|
|
75
|
+
/* empty css */
|
|
76
|
+
import "../Comparison/Comparison.css.js";
|
|
77
|
+
import "next/image.js";
|
|
78
|
+
import "../HeroBanner/HeroBanner.css.js";
|
|
79
|
+
import "../HeroBanner/LargeBanner.css.js";
|
|
80
|
+
import "../HeroBanner/SelectionBanner.css.js";
|
|
81
|
+
import "../SetContainer/SetContainer.css.js";
|
|
82
|
+
import "../Tab/Tab.css.js";
|
|
83
|
+
import "../icons/Star/Star.css.js";
|
|
84
|
+
import "../ContentBanner/ContentBanner.css.js";
|
|
85
|
+
/* empty css */
|
|
86
|
+
import "../ExecutiveBio/ExecutiveBio.css.js";
|
|
87
|
+
import "../FaqAccordion/index.js";
|
|
88
|
+
import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
89
|
+
/* empty css */
|
|
90
|
+
/* empty css */
|
|
91
|
+
/* empty css */
|
|
92
|
+
import "../ImageBillboard/ImageBillboard.css.js";
|
|
93
|
+
import "next/script.js";
|
|
94
|
+
/* empty css */
|
|
95
|
+
/* empty css */
|
|
96
|
+
/* empty css */
|
|
97
|
+
/* empty css */
|
|
98
|
+
/* empty css */
|
|
99
|
+
/* empty css */
|
|
100
|
+
import "../LandingPageHeader/LandingPageHeader.css.js";
|
|
101
|
+
/* empty css */
|
|
102
|
+
import "next/navigation.js";
|
|
103
|
+
/* empty css */
|
|
104
|
+
/* empty css */
|
|
105
|
+
/* empty css */
|
|
106
|
+
import "next/link.js";
|
|
107
|
+
import "../NavigationMenu/AxosBank/MobileMenu/MobileNavData.js";
|
|
108
|
+
/* empty css */
|
|
109
|
+
import "../NavigationMenu/AxosBank/NavData.js";
|
|
110
|
+
/* empty css */
|
|
111
|
+
/* empty css */
|
|
112
|
+
import "../NavigationMenu/AxosALTS/NavData.js";
|
|
113
|
+
/* empty css */
|
|
114
|
+
/* empty css */
|
|
115
|
+
import "../NavigationMenu/LaVictoire/NavData.js";
|
|
116
|
+
import "../PageNavItem/PageNavItem.css.js";
|
|
117
|
+
import "react-slick";
|
|
118
|
+
/* empty css */
|
|
119
|
+
/* empty css */
|
|
120
|
+
/* empty css */
|
|
121
|
+
/* empty css */
|
|
122
|
+
import "../StepItem/StepItem.css.js";
|
|
123
|
+
import "../StepItemSet/StepItemSet.css.js";
|
|
124
|
+
/* empty css */
|
|
125
|
+
/* empty css */
|
|
126
|
+
/* empty css */
|
|
127
|
+
/* empty css */
|
|
128
|
+
/* empty css */
|
|
129
|
+
const MortgageWarehouseLending = ({
|
|
130
|
+
icon = false,
|
|
131
|
+
children,
|
|
132
|
+
onSubmit = (values) => {
|
|
133
|
+
console.log(values);
|
|
134
|
+
},
|
|
135
|
+
disclosure,
|
|
136
|
+
variant: fullVariant = "primary",
|
|
137
|
+
headline,
|
|
138
|
+
description,
|
|
139
|
+
callToAction,
|
|
140
|
+
validateEmail,
|
|
141
|
+
id
|
|
142
|
+
}) => {
|
|
143
|
+
const schema = z.object({
|
|
144
|
+
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
145
|
+
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
146
|
+
email: z.string().email({ message: "Email is required." }).refine(async (val) => await validateEmail(val)),
|
|
147
|
+
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) => {
|
|
148
|
+
const removeDashes = val.replace(/-/gi, "");
|
|
149
|
+
if (removeDashes.length !== 10) {
|
|
150
|
+
ctx.addIssue({
|
|
151
|
+
code: z.ZodIssueCode.custom,
|
|
152
|
+
message: "Phone must have at least 10 and no more than 10 characters."
|
|
153
|
+
});
|
|
154
|
+
return z.NEVER;
|
|
155
|
+
}
|
|
156
|
+
if (removeDashes.endsWith("00000") || removeDashes.startsWith("999") || removeDashes.length === 10 && /^[01]/.test(removeDashes)) {
|
|
157
|
+
ctx.addIssue({
|
|
158
|
+
code: z.ZodIssueCode.custom,
|
|
159
|
+
message: "Invalid phone number."
|
|
160
|
+
});
|
|
161
|
+
return z.NEVER;
|
|
162
|
+
}
|
|
163
|
+
return removeDashes;
|
|
164
|
+
}),
|
|
165
|
+
Company_NMLS_ID__c: z.string().min(6).max(7),
|
|
166
|
+
Business_Name__c: z.string().min(1)
|
|
167
|
+
});
|
|
168
|
+
const gen_schema = schema.merge(SalesforceSchema);
|
|
169
|
+
const methods = useForm({
|
|
170
|
+
resolver: zodResolver(
|
|
171
|
+
gen_schema,
|
|
172
|
+
{
|
|
173
|
+
async: true
|
|
174
|
+
},
|
|
175
|
+
{ mode: "async" }
|
|
176
|
+
),
|
|
177
|
+
mode: "onChange",
|
|
178
|
+
shouldUnregister: true,
|
|
179
|
+
defaultValues: {
|
|
180
|
+
email: ""
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
const {
|
|
184
|
+
handleSubmit,
|
|
185
|
+
register,
|
|
186
|
+
formState: { errors, isValid, isSubmitting }
|
|
187
|
+
} = methods;
|
|
188
|
+
const submitForm = async (data) => {
|
|
189
|
+
await onSubmit(data);
|
|
190
|
+
};
|
|
191
|
+
const variant = getVariant(fullVariant);
|
|
192
|
+
return /* @__PURE__ */ jsx("section", { id, className: clsx(formContainer({ variant })), children: /* @__PURE__ */ jsx("div", { className: clsx("containment"), children: /* @__PURE__ */ jsxs(FormProvider, { ...methods, children: [
|
|
193
|
+
icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", iconForm), children: ["primary", "secondary"].includes(variant) ? /* @__PURE__ */ jsx(SvgComponent, {}) : /* @__PURE__ */ jsx(SvgAxosX, {}) }),
|
|
194
|
+
/* @__PURE__ */ jsxs("div", { className: `${headerContainer} text_center`, children: [
|
|
195
|
+
/* @__PURE__ */ jsx("h2", { className: clsx("header_2", headerForm({ variant })), children: headline }),
|
|
196
|
+
description && /* @__PURE__ */ jsx(
|
|
197
|
+
"div",
|
|
198
|
+
{
|
|
199
|
+
className: clsx(
|
|
200
|
+
"text_center",
|
|
201
|
+
form,
|
|
202
|
+
descriptionField({ variant })
|
|
203
|
+
),
|
|
204
|
+
children: description
|
|
205
|
+
}
|
|
206
|
+
)
|
|
207
|
+
] }),
|
|
208
|
+
/* @__PURE__ */ jsxs(
|
|
209
|
+
"form",
|
|
210
|
+
{
|
|
211
|
+
className: form,
|
|
212
|
+
onSubmit: async (e) => {
|
|
213
|
+
await handleSubmit(submitForm)(e);
|
|
214
|
+
e.preventDefault();
|
|
215
|
+
},
|
|
216
|
+
children: [
|
|
217
|
+
/* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant })), children: [
|
|
218
|
+
/* @__PURE__ */ jsx("div", { className: "", children: /* @__PURE__ */ jsx(
|
|
219
|
+
Input,
|
|
220
|
+
{
|
|
221
|
+
id: "first_name",
|
|
222
|
+
...register("first_name", { required: true }),
|
|
223
|
+
label: "First Name",
|
|
224
|
+
sizes: "medium",
|
|
225
|
+
required: true,
|
|
226
|
+
error: !!errors.first_name,
|
|
227
|
+
helperText: errors.first_name?.message,
|
|
228
|
+
variant
|
|
229
|
+
}
|
|
230
|
+
) }),
|
|
231
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
232
|
+
Input,
|
|
233
|
+
{
|
|
234
|
+
id: "last_name",
|
|
235
|
+
...register("last_name", { required: true }),
|
|
236
|
+
label: "Last Name",
|
|
237
|
+
sizes: "medium",
|
|
238
|
+
required: true,
|
|
239
|
+
error: !!errors.last_name,
|
|
240
|
+
helperText: errors.last_name?.message,
|
|
241
|
+
variant
|
|
242
|
+
}
|
|
243
|
+
) }),
|
|
244
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
245
|
+
Input,
|
|
246
|
+
{
|
|
247
|
+
id: "email",
|
|
248
|
+
...register("email", {
|
|
249
|
+
required: true
|
|
250
|
+
}),
|
|
251
|
+
type: "email",
|
|
252
|
+
label: "Business Email",
|
|
253
|
+
sizes: "medium",
|
|
254
|
+
required: true,
|
|
255
|
+
error: !!errors.email,
|
|
256
|
+
helperText: errors.email?.message,
|
|
257
|
+
variant
|
|
258
|
+
}
|
|
259
|
+
) }),
|
|
260
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
261
|
+
InputPhone,
|
|
262
|
+
{
|
|
263
|
+
id: "phone",
|
|
264
|
+
...register("phone", { required: true, maxLength: 12 }),
|
|
265
|
+
label: "Business Phone",
|
|
266
|
+
sizes: "medium",
|
|
267
|
+
type: "tel",
|
|
268
|
+
required: true,
|
|
269
|
+
error: !!errors.phone,
|
|
270
|
+
helperText: errors.phone?.message,
|
|
271
|
+
variant
|
|
272
|
+
}
|
|
273
|
+
) }),
|
|
274
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
275
|
+
Input,
|
|
276
|
+
{
|
|
277
|
+
id: "Company_NMLS_ID__c",
|
|
278
|
+
...register("Company_NMLS_ID__c", {
|
|
279
|
+
required: true,
|
|
280
|
+
min: 6,
|
|
281
|
+
max: 7
|
|
282
|
+
}),
|
|
283
|
+
label: "Company NMLS ID",
|
|
284
|
+
sizes: "medium",
|
|
285
|
+
required: true,
|
|
286
|
+
error: !!errors.Company_NMLS_ID__c,
|
|
287
|
+
helperText: errors.Company_NMLS_ID__c?.message,
|
|
288
|
+
variant
|
|
289
|
+
}
|
|
290
|
+
) }),
|
|
291
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
292
|
+
Input,
|
|
293
|
+
{
|
|
294
|
+
id: "Business_Name__c",
|
|
295
|
+
...register("Business_Name__c", {
|
|
296
|
+
required: true
|
|
297
|
+
}),
|
|
298
|
+
type: "text",
|
|
299
|
+
label: "Business Name",
|
|
300
|
+
sizes: "medium",
|
|
301
|
+
required: true,
|
|
302
|
+
error: !!errors.Business_Name__c,
|
|
303
|
+
helperText: errors.Business_Name__c?.message,
|
|
304
|
+
variant
|
|
305
|
+
}
|
|
306
|
+
) })
|
|
307
|
+
] }),
|
|
308
|
+
children,
|
|
309
|
+
/* @__PURE__ */ jsx("div", { className: disclosureForm({ variant }), children: disclosure }),
|
|
310
|
+
/* @__PURE__ */ jsx("div", { className: actions, children: /* @__PURE__ */ jsx(
|
|
311
|
+
Button,
|
|
312
|
+
{
|
|
313
|
+
color: getVariant(callToAction?.variant),
|
|
314
|
+
as: "button",
|
|
315
|
+
type: "submit",
|
|
316
|
+
disabled: !isValid || isSubmitting,
|
|
317
|
+
children: callToAction?.displayText
|
|
318
|
+
}
|
|
319
|
+
) })
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
)
|
|
323
|
+
] }) }) }, id);
|
|
324
|
+
};
|
|
325
|
+
export {
|
|
326
|
+
MortgageWarehouseLending
|
|
327
|
+
};
|
package/dist/Forms/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from './MortgageRate/MortgageRateForm';
|
|
|
24
24
|
export * from './MortgageRate/MortgageRateModal';
|
|
25
25
|
export * from './MortgageRate/MortgageRateQuoteFilters';
|
|
26
26
|
export * from './MortgageRate/MortgageRateWatch';
|
|
27
|
+
export * from './MortgageWarehouseLending';
|
|
27
28
|
export * from './QuickPricer';
|
|
28
29
|
export * from './SalesforceFieldsForm';
|
|
29
30
|
export * from './ScheduleCall';
|
package/dist/Forms/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import "../utils/allowedAxosDomains.js";
|
|
|
27
27
|
import "../LoadingIndicator/LoadingIndicator.css.js";
|
|
28
28
|
import "../Interstitial/Interstitial-variants.css.js";
|
|
29
29
|
import { MortgageRateFilters } from "./MortgageRate/MortgageRateQuoteFilters.js";
|
|
30
|
+
import { MortgageWarehouseLending } from "./MortgageWarehouseLending.js";
|
|
30
31
|
import { QuickPricer } from "./QuickPricer/QuickPricerForm.js";
|
|
31
32
|
import { rate_table_title, results_container } from "./QuickPricer/QuickPricerResults.css.js";
|
|
32
33
|
import { UserInformation } from "./QuickPricer/UserInformation.js";
|
|
@@ -59,6 +60,7 @@ export {
|
|
|
59
60
|
EmailUs,
|
|
60
61
|
MortgageRate,
|
|
61
62
|
MortgageRateFilters,
|
|
63
|
+
MortgageWarehouseLending,
|
|
62
64
|
QuickPricer,
|
|
63
65
|
RateWatchForm,
|
|
64
66
|
SalesforceFieldsForm,
|
|
@@ -5,7 +5,12 @@ const useExitIntentModal = (enabled) => {
|
|
|
5
5
|
const modalRef = useRef(null);
|
|
6
6
|
useEffect(() => {
|
|
7
7
|
if (!enabled) return;
|
|
8
|
-
const
|
|
8
|
+
const getPageSpecificStorageKey = () => {
|
|
9
|
+
const pathname = window.location.pathname;
|
|
10
|
+
const normalizedPath = pathname.replace(/^\/+|\/+$/g, "").replace(/\//g, "_") || "root";
|
|
11
|
+
return `exitIntentShown_${normalizedPath}`;
|
|
12
|
+
};
|
|
13
|
+
const STORAGE_KEY = getPageSpecificStorageKey();
|
|
9
14
|
const sessionExpiry = 24 * 60 * 60 * 1e3;
|
|
10
15
|
const hasShown = () => {
|
|
11
16
|
const stored = localStorage.getItem(STORAGE_KEY);
|
|
@@ -119,6 +119,13 @@
|
|
|
119
119
|
._11b2y8zm {
|
|
120
120
|
color: var(--_1073cm8n);
|
|
121
121
|
}
|
|
122
|
+
._11b2y8zn {
|
|
123
|
+
align-items: center;
|
|
124
|
+
display: flex;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
margin-top: 2rem;
|
|
127
|
+
gap: 3rem;
|
|
128
|
+
}
|
|
122
129
|
@media screen and (max-width: 1023px) {
|
|
123
130
|
._11b2y8z0 > .containment {
|
|
124
131
|
max-width: 100%;
|
|
@@ -134,6 +141,11 @@
|
|
|
134
141
|
._11b2y8z3 {
|
|
135
142
|
font-size: 23px;
|
|
136
143
|
}
|
|
144
|
+
._11b2y8zn {
|
|
145
|
+
flex-direction: column;
|
|
146
|
+
gap: 1rem;
|
|
147
|
+
padding-bottom: 2rem;
|
|
148
|
+
}
|
|
137
149
|
}
|
|
138
150
|
@media screen and (max-width: 900px) {
|
|
139
151
|
._11b2y8z8 {
|
package/dist/main.js
CHANGED
|
@@ -81,6 +81,7 @@ import { RateWatchForm } from "./Forms/MortgageRate/MortgageRateWatch.js";
|
|
|
81
81
|
import { LoadingIndicator } from "./LoadingIndicator/index.js";
|
|
82
82
|
import "./Interstitial/Interstitial-variants.css.js";
|
|
83
83
|
import { MortgageRateFilters } from "./Forms/MortgageRate/MortgageRateQuoteFilters.js";
|
|
84
|
+
import { MortgageWarehouseLending } from "./Forms/MortgageWarehouseLending.js";
|
|
84
85
|
import { QuickPricer } from "./Forms/QuickPricer/QuickPricerForm.js";
|
|
85
86
|
import { rate_table_title, results_container } from "./Forms/QuickPricer/QuickPricerResults.css.js";
|
|
86
87
|
import { UserInformation } from "./Forms/QuickPricer/UserInformation.js";
|
|
@@ -322,6 +323,7 @@ export {
|
|
|
322
323
|
MonthlyPaymentLVFCalculator,
|
|
323
324
|
MortgageRate,
|
|
324
325
|
MortgageRateFilters,
|
|
326
|
+
MortgageWarehouseLending,
|
|
325
327
|
default30 as NavBarAAS,
|
|
326
328
|
default33 as NavBarAFS,
|
|
327
329
|
default34 as NavBarALT,
|
package/package.json
CHANGED