@axos-web-dev/shared-components 1.0.99-dev.12 → 1.0.99-dev.14

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 (54) hide show
  1. package/dist/Auth/ErrorAlert.js +2 -2
  2. package/dist/Button/Button.js +2 -2
  3. package/dist/Calculators/Calculator.d.ts +1 -3
  4. package/dist/Calculators/Calculator.js +16 -6
  5. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.d.ts +9 -0
  6. package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +218 -0
  7. package/dist/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.d.ts +1 -0
  8. package/dist/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js +2 -0
  9. package/dist/Calculators/MonthlyPaymentCalculator/index.d.ts +1 -3
  10. package/dist/Calculators/MonthlyPaymentCalculator/index.js +15 -23
  11. package/dist/Calculators/index.d.ts +2 -1
  12. package/dist/Calculators/index.js +3 -1
  13. package/dist/Carousel/index.js +2 -2
  14. package/dist/Chevron/index.js +2 -2
  15. package/dist/Comparison/Comparison.js +2 -2
  16. package/dist/ExecutiveBio/ExecutiveBio.js +2 -2
  17. package/dist/FaqAccordion/index.js +2 -2
  18. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +2 -2
  19. package/dist/Forms/ApplyNow.js +7 -6
  20. package/dist/Forms/ContactUsBusiness.js +2 -2
  21. package/dist/Forms/ContactUsBusinessNameEmail.js +2 -2
  22. package/dist/Forms/ContactUsNMLSId.js +2 -2
  23. package/dist/Forms/CraPublicFile.js +2 -2
  24. package/dist/Forms/EmailOnly.js +2 -2
  25. package/dist/Forms/MortgageRate/MortgageRateForm.js +2 -2
  26. package/dist/Forms/MortgageRate/MortgageRateWatch.js +2 -2
  27. package/dist/Forms/SuccesForm.js +5 -5
  28. package/dist/Hyperlink/index.js +2 -2
  29. package/dist/ImageLink/ImageLink.js +2 -2
  30. package/dist/ImageLink/ImageLinkSet.js +2 -2
  31. package/dist/ImageLink/index.js +2 -2
  32. package/dist/Insight/Featured/CategorySelector.js +2 -2
  33. package/dist/Insight/Featured/Featured.js +2 -2
  34. package/dist/Insight/Featured/Header.js +2 -2
  35. package/dist/Modal/Modal.js +2 -2
  36. package/dist/NavigationMenu/AxosALTS/NavData.js +2 -2
  37. package/dist/NavigationMenu/AxosALTS/index.js +2 -2
  38. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +2 -2
  39. package/dist/NavigationMenu/AxosBank/NavData.js +2 -2
  40. package/dist/NavigationMenu/AxosBank/SubNavBar.js +2 -2
  41. package/dist/NavigationMenu/AxosBank/index.js +2 -2
  42. package/dist/NavigationMenu/LaVictoire/NavData.js +2 -2
  43. package/dist/NavigationMenu/LaVictoire/index.js +2 -2
  44. package/dist/NavigationMenu/NavDataJson.js +2 -2
  45. package/dist/NavigationMenu/Navbar.js +2 -2
  46. package/dist/NavigationMenu/SignInNavButton.js +2 -2
  47. package/dist/SetContainer/SetContainer.js +2 -2
  48. package/dist/SocialMediaBar/iconsRepository.js +2 -2
  49. package/dist/VideoTile/VideoTile.js +2 -2
  50. package/dist/VideoWrapper/index.js +2 -2
  51. package/dist/assets/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css +3 -0
  52. package/dist/assets/Forms/Forms.css +0 -1
  53. package/dist/main.js +3 -1
  54. package/package.json +1 -1
@@ -43,13 +43,13 @@ import "../Calculators/ApyCalculator/ApyCalculator.css.js";
43
43
  import "../Table/Table.css.js";
44
44
  import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
45
45
  import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
46
+ import "../Input/PercentageInput.js";
47
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
46
48
  import "iframe-resizer";
47
49
  /* empty css */
48
50
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
49
51
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
50
52
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
51
- import "../Input/PercentageInput.js";
52
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
53
53
  import { error_close_button, separator, error_alert_content, error_alert } from "./ErrorAlert.css.js";
54
54
  import "react-dom";
55
55
  /* empty css */
@@ -40,7 +40,9 @@ import "../Input/InputPhone.js";
40
40
  import "../Input/InputTextArea.js";
41
41
  import "../Input/DownPaymentInput.js";
42
42
  import "../Input/RadioButton.js";
43
+ import "../Input/PercentageInput.js";
43
44
  import "react-hook-form";
45
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
44
46
  import "../Forms/Forms.css.js";
45
47
  import "../Forms/HoneyPot/index.js";
46
48
  import "../Forms/SalesforceFieldsForm.js";
@@ -59,8 +61,6 @@ import "iframe-resizer";
59
61
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
60
62
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
61
63
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
62
- import "../Input/PercentageInput.js";
63
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
64
64
  /* empty css */
65
65
  import "react-dom";
66
66
  /* empty css */
@@ -12,6 +12,4 @@ export interface CalculatorProps {
12
12
  disclosure?: React.ReactNode;
13
13
  marketingTiles?: IconBillboardProps[];
14
14
  }
15
- export declare const Calculator: (props: CalculatorProps & {
16
- showCurrency: boolean;
17
- }) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Calculator: (props: CalculatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -38,13 +38,14 @@ import { AnnualFeeCalculator } from "./AnnualFeeCalculator/index.js";
38
38
  import { ApyCalculator } from "./ApyCalculator/index.js";
39
39
  import { AxosOneCalculator } from "./AxosOneCalculator/index.js";
40
40
  import { BalanceAPYCalculator } from "./BalanceAPYCalculator/index.js";
41
+ import { BuyDownCalculator } from "./BuyDownCalculator/index.js";
41
42
  import { calculator_headline, calculator_description } from "./calculator.css.js";
42
43
  import { MarginTradingCalculator } from "./MarginTradingCalculator/index.js";
44
+ import { MarineLoanMonthlyPaymentCalculator } from "./MarineLoanMonthlyPaymentCalculator/index.js";
43
45
  import { MaxLoanCalculator } from "./MaxLoanCalculator/index.js";
44
46
  import { MonthlyPaymentCalculator } from "./MonthlyPaymentCalculator/index.js";
45
47
  import { MonthlyPaymentLVFCalculator } from "./MonthlyPaymentLVFCalculator/index.js";
46
48
  import { SummitApyCalculator } from "./SummitApyCalculator/index.js";
47
- import { BuyDownCalculator } from "./BuyDownCalculator/index.js";
48
49
  /* empty css */
49
50
  import "../Carousel/index.js";
50
51
  /* empty css */
@@ -135,8 +136,7 @@ const Calculator = (props) => {
135
136
  disclosure,
136
137
  headline,
137
138
  name,
138
- marketingTiles,
139
- showCurrency = true
139
+ marketingTiles
140
140
  } = props;
141
141
  const ref = useRef(null);
142
142
  const iframe = calculators.get(name || "");
@@ -175,8 +175,7 @@ const Calculator = (props) => {
175
175
  header: headline,
176
176
  bodyCopy,
177
177
  variant,
178
- disclosure,
179
- showCurrency
178
+ disclosure
180
179
  }
181
180
  );
182
181
  } else if (name === "Calculate a Loan Payment LVF") {
@@ -252,7 +251,17 @@ const Calculator = (props) => {
252
251
  disclosure
253
252
  }
254
253
  );
255
- } else
254
+ } else if (name === "Marine Loan Monthly Payment Calculator") {
255
+ return /* @__PURE__ */ jsx(
256
+ MarineLoanMonthlyPaymentCalculator,
257
+ {
258
+ header: headline,
259
+ bodyCopy,
260
+ variant,
261
+ disclosure
262
+ }
263
+ );
264
+ } else {
256
265
  return /* @__PURE__ */ jsx("section", { id, children: /* @__PURE__ */ jsxs("div", { className: clsx("containment"), children: [
257
266
  /* @__PURE__ */ jsxs("div", { children: [
258
267
  icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", iconForm), children: ["primary", "secondary"].includes(variant) ? /* @__PURE__ */ jsx(SvgComponent, {}) : /* @__PURE__ */ jsx(SvgAxosX, {}) }),
@@ -286,6 +295,7 @@ const Calculator = (props) => {
286
295
  ) }),
287
296
  /* @__PURE__ */ jsx("div", { className: clsx(calculator_description({ variant })), children: disclosure })
288
297
  ] }) });
298
+ }
289
299
  };
290
300
  export {
291
301
  Calculator
@@ -0,0 +1,9 @@
1
+ import { default as React, FC } from 'react';
2
+
3
+ export interface MarineLoanMonthlyPaymentCalculatorProps {
4
+ header?: React.ReactNode | string;
5
+ bodyCopy?: React.ReactNode | string;
6
+ variant?: string;
7
+ disclosure?: React.ReactNode;
8
+ }
9
+ export declare const MarineLoanMonthlyPaymentCalculator: FC<MarineLoanMonthlyPaymentCalculatorProps>;
@@ -0,0 +1,218 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { button } from "../../Button/Button.css.js";
4
+ import { title } from "../../IconBillboard/IconBillboard.css.js";
5
+ import "../../utils/allowedAxosDomains.js";
6
+ import { getVariant } from "../../utils/getVariant.js";
7
+ import clsx from "clsx";
8
+ import { useState } from "react";
9
+ import { calc_text, description_text, calc_disclosure } from "../BalanceAPYCalculator/BalanceAPYCalculator.css.js";
10
+ import { calculator } from "../calculator.css.js";
11
+ import { calc_container, container, h2i, inputs_container, input_container, input_box, error_message, hide_select_arrow, calculation_header, payment_results } from "../MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
12
+ const MarineLoanMonthlyPaymentCalculator = ({ variant, header, disclosure, bodyCopy = true }) => {
13
+ const fullVariant = getVariant(variant);
14
+ const [loanAmountDisplay, setLoanAmountDisplay] = useState("$75,000");
15
+ const [loanAmount, setLoanAmount] = useState(75e3);
16
+ const [loanDuration, setLoanDuration] = useState(240);
17
+ const [interestRateDisplay, setInterestRateDisplay] = useState("8.25%");
18
+ const [interestRate, setInterestRate] = useState("8.25");
19
+ const [estimatedPayment, setEstimatedPayment] = useState(0);
20
+ const [loanAmountError, setLoanAmountError] = useState(null);
21
+ const [interestRateError, setInterestRateError] = useState(
22
+ null
23
+ );
24
+ const formatToCurrency = (value) => {
25
+ const numericValue = parseFloat(value.replace(/[^0-9.]/g, ""));
26
+ if (isNaN(numericValue)) {
27
+ return "";
28
+ }
29
+ return numericValue.toLocaleString("en-US", {
30
+ style: "currency",
31
+ currency: "USD",
32
+ minimumFractionDigits: 0,
33
+ maximumFractionDigits: 0
34
+ });
35
+ };
36
+ const validateInputs = () => {
37
+ let isValid = true;
38
+ if (!loanAmount || isNaN(loanAmount) || loanAmount < 75e3 || loanAmount > 5e6) {
39
+ setLoanAmountError(
40
+ "Please enter an amount between $75,000 and $5,000,000."
41
+ );
42
+ isValid = false;
43
+ } else {
44
+ setLoanAmountError(null);
45
+ }
46
+ if (!interestRate || isNaN(parseFloat(interestRate)) || interestRate === "0") {
47
+ setInterestRateError("Please enter an Interest Rate.");
48
+ isValid = false;
49
+ } else {
50
+ setInterestRateError(null);
51
+ }
52
+ return isValid;
53
+ };
54
+ const handleLoanAmountChange = (event) => {
55
+ const value = event.target.value;
56
+ const formattedValue = formatToCurrency(value);
57
+ setLoanAmountDisplay(formattedValue);
58
+ const numericValue = parseFloat(value.replace(/[^0-9.]/g, ""));
59
+ setLoanAmount(isNaN(numericValue) ? void 0 : numericValue);
60
+ };
61
+ const handleLoanDurationChange = (event) => {
62
+ setLoanDuration(Number(event.target.value));
63
+ };
64
+ const formatToPercentage = (value) => {
65
+ const numericValue = value.replace(/[^0-9.]/g, "");
66
+ if (numericValue === "") {
67
+ return "";
68
+ } else if (numericValue.endsWith("%")) {
69
+ return numericValue;
70
+ } else {
71
+ return numericValue.substring(0, numericValue.length - 2) + numericValue.substring(numericValue.length - 2) + "%";
72
+ }
73
+ };
74
+ const handleInterestRateChange = (event) => {
75
+ let value = event.target.value;
76
+ if (value.length < interestRateDisplay.length) {
77
+ if (interestRateDisplay.length > 1 && interestRateDisplay.endsWith("%")) {
78
+ value = interestRateDisplay.substring(0, interestRateDisplay.length - 2) + "%";
79
+ } else if (interestRateDisplay.length === 1) {
80
+ value = "";
81
+ } else {
82
+ value = interestRateDisplay.substring(
83
+ 0,
84
+ interestRateDisplay.length - 1
85
+ );
86
+ }
87
+ } else {
88
+ value = formatToPercentage(value);
89
+ }
90
+ setInterestRateDisplay(value);
91
+ setInterestRate(value.replace(/[^0-9.]/g, ""));
92
+ };
93
+ const calculateMonthlyPayment = () => {
94
+ const numericInterestRate = parseFloat(interestRate);
95
+ const monthlyInterestRate = numericInterestRate / 100 / 12;
96
+ const months = loanDuration;
97
+ if (!isNaN(loanAmount || 0) && !isNaN(numericInterestRate)) {
98
+ const monthlyPayment = (loanAmount || 0) * monthlyInterestRate / (1 - Math.pow(1 + monthlyInterestRate, -months));
99
+ setEstimatedPayment(monthlyPayment);
100
+ } else {
101
+ setEstimatedPayment(0);
102
+ }
103
+ };
104
+ const handleCalculate = () => {
105
+ if (validateInputs()) {
106
+ calculateMonthlyPayment();
107
+ } else {
108
+ setEstimatedPayment(0);
109
+ }
110
+ };
111
+ return /* @__PURE__ */ jsx("section", { className: clsx(calculator), children: /* @__PURE__ */ jsx("div", { className: "containment", children: /* @__PURE__ */ jsxs(
112
+ "div",
113
+ {
114
+ className: `rounded ${calc_container} ${container({ variant: fullVariant })}`,
115
+ children: [
116
+ /* @__PURE__ */ jsxs("div", { children: [
117
+ /* @__PURE__ */ jsx(
118
+ "h2",
119
+ {
120
+ className: `text_center ${title({ variant: fullVariant })} ${h2i}`,
121
+ children: header
122
+ }
123
+ ),
124
+ bodyCopy && /* @__PURE__ */ jsx(
125
+ "div",
126
+ {
127
+ className: `${calc_text} ${description_text({ variant: fullVariant })} text_center`,
128
+ children: bodyCopy
129
+ }
130
+ )
131
+ ] }),
132
+ /* @__PURE__ */ jsxs(
133
+ "div",
134
+ {
135
+ className: `flex center text_center push_up_32 bottom ${inputs_container}`,
136
+ children: [
137
+ /* @__PURE__ */ jsxs("div", { className: `flex flex_col ${input_container}`, children: [
138
+ /* @__PURE__ */ jsx("label", { htmlFor: "loanAmount", id: "amount1", children: "Loan Amount" }),
139
+ /* @__PURE__ */ jsx(
140
+ "input",
141
+ {
142
+ className: `text_center bordered ${input_box({ variant: fullVariant })}`,
143
+ id: "loanAmount",
144
+ maxLength: 10,
145
+ name: "loanAmount",
146
+ type: "text",
147
+ placeholder: "$0",
148
+ value: loanAmountDisplay,
149
+ onChange: handleLoanAmountChange
150
+ }
151
+ ),
152
+ loanAmountError && /* @__PURE__ */ jsx("span", { className: error_message, children: loanAmountError })
153
+ ] }),
154
+ /* @__PURE__ */ jsxs("div", { className: `flex flex_col ${input_container}`, children: [
155
+ /* @__PURE__ */ jsx("label", { htmlFor: "loanDuration", children: "Loan Duration (Months)" }),
156
+ /* @__PURE__ */ jsx(
157
+ "select",
158
+ {
159
+ className: `text_center bordered ${input_box({ variant: fullVariant })} ${hide_select_arrow}`,
160
+ id: "loanDuration",
161
+ name: "loanDuration",
162
+ value: loanDuration,
163
+ onChange: handleLoanDurationChange,
164
+ disabled: true,
165
+ children: /* @__PURE__ */ jsx("option", { value: "240", children: "240" })
166
+ }
167
+ )
168
+ ] }),
169
+ /* @__PURE__ */ jsxs("div", { className: `flex flex_col ${input_container}`, children: [
170
+ /* @__PURE__ */ jsx("label", { htmlFor: "interestRate", children: "Interest Rate" }),
171
+ /* @__PURE__ */ jsx(
172
+ "input",
173
+ {
174
+ className: `text_center bordered ${input_box({ variant: fullVariant })}`,
175
+ id: "interestRate",
176
+ maxLength: 6,
177
+ name: "interestRate",
178
+ type: "text",
179
+ placeholder: "0.00%",
180
+ value: interestRateDisplay,
181
+ onChange: handleInterestRateChange
182
+ }
183
+ ),
184
+ interestRateError && /* @__PURE__ */ jsx("span", { className: error_message, children: interestRateError })
185
+ ] })
186
+ ]
187
+ }
188
+ ),
189
+ /* @__PURE__ */ jsxs("div", { children: [
190
+ /* @__PURE__ */ jsx("div", { className: `flex center middle push_up_32`, children: /* @__PURE__ */ jsx(
191
+ "input",
192
+ {
193
+ className: `${button({
194
+ color: "primary",
195
+ size: "medium",
196
+ rounded: "medium"
197
+ })} center`,
198
+ type: "button",
199
+ value: "Calculate",
200
+ onClick: handleCalculate
201
+ }
202
+ ) }),
203
+ /* @__PURE__ */ jsxs("div", { className: "text_center flex flex_col center middle push_up_32", children: [
204
+ /* @__PURE__ */ jsx("span", { className: calculation_header, children: "Estimated Monthly Payment:" }),
205
+ /* @__PURE__ */ jsxs("span", { id: "estimatedPayment", className: payment_results, children: [
206
+ "$",
207
+ estimatedPayment.toFixed(2)
208
+ ] })
209
+ ] })
210
+ ] }),
211
+ disclosure && /* @__PURE__ */ jsx("div", { className: calc_disclosure({ variant: fullVariant }), children: disclosure })
212
+ ]
213
+ }
214
+ ) }) });
215
+ };
216
+ export {
217
+ MarineLoanMonthlyPaymentCalculator
218
+ };
@@ -41,3 +41,4 @@ export declare const inputs_container: string;
41
41
  export declare const calculation_header: string;
42
42
  export declare const error_message: string;
43
43
  export declare const h2i: string;
44
+ export declare const hide_select_arrow: string;
@@ -12,12 +12,14 @@ var inputs_container = "_10pitvcd";
12
12
  var calculation_header = "_10pitvce";
13
13
  var error_message = "_10pitvcf";
14
14
  var h2i = "_10pitvcg";
15
+ var hide_select_arrow = "_10pitvch";
15
16
  export {
16
17
  calc_container,
17
18
  calculation_header,
18
19
  container,
19
20
  error_message,
20
21
  h2i,
22
+ hide_select_arrow,
21
23
  input_box,
22
24
  input_container,
23
25
  inputs_container,
@@ -6,6 +6,4 @@ export interface MonthlyPaymentCalculatorProps {
6
6
  variant?: string;
7
7
  disclosure?: React.ReactNode;
8
8
  }
9
- export declare const MonthlyPaymentCalculator: FC<MonthlyPaymentCalculatorProps & {
10
- showCurrency?: boolean;
11
- }>;
9
+ export declare const MonthlyPaymentCalculator: FC<MonthlyPaymentCalculatorProps>;
@@ -9,7 +9,12 @@ import { useState } from "react";
9
9
  import { calc_text, description_text, calc_disclosure } from "../BalanceAPYCalculator/BalanceAPYCalculator.css.js";
10
10
  import { calculator } from "../calculator.css.js";
11
11
  import { calc_container, container, h2i, inputs_container, input_container, input_box, error_message, calculation_header, payment_results } from "./MonthlyPaymentCalculator.css.js";
12
- const MonthlyPaymentCalculator = ({ variant, header, disclosure, bodyCopy, showCurrency = true }) => {
12
+ const MonthlyPaymentCalculator = ({
13
+ variant,
14
+ header,
15
+ disclosure,
16
+ bodyCopy
17
+ }) => {
13
18
  const fullVariant = getVariant(variant);
14
19
  const [loanAmountDisplay, setLoanAmountDisplay] = useState("");
15
20
  const [loanAmount, setLoanAmount] = useState(void 0);
@@ -26,27 +31,17 @@ const MonthlyPaymentCalculator = ({ variant, header, disclosure, bodyCopy, showC
26
31
  if (isNaN(numericValue)) {
27
32
  return "";
28
33
  }
29
- if (showCurrency) {
30
- return numericValue.toLocaleString("en-US", {
31
- style: "currency",
32
- currency: "USD",
33
- minimumFractionDigits: 0,
34
- maximumFractionDigits: 0
35
- });
36
- } else {
37
- return numericValue.toLocaleString("en-US", {
38
- minimumFractionDigits: 0,
39
- maximumFractionDigits: 0,
40
- useGrouping: true
41
- });
42
- }
34
+ return numericValue.toLocaleString("en-US", {
35
+ style: "currency",
36
+ currency: "USD",
37
+ minimumFractionDigits: 0,
38
+ maximumFractionDigits: 0
39
+ });
43
40
  };
44
41
  const validateInputs = () => {
45
42
  let isValid = true;
46
43
  if (!loanAmount || isNaN(loanAmount) || loanAmount < 1e4 || loanAmount > 9e4) {
47
- setLoanAmountError(
48
- `Please enter an amount between ${showCurrency ? "$10,000 and $90,000" : "10,000 and 90,000"}.`
49
- );
44
+ setLoanAmountError("Please enter an amount between $10,000 and $90,000.");
50
45
  isValid = false;
51
46
  } else {
52
47
  setLoanAmountError(null);
@@ -143,10 +138,7 @@ const MonthlyPaymentCalculator = ({ variant, header, disclosure, bodyCopy, showC
143
138
  className: `flex center text_center push_up_32 bottom ${inputs_container}`,
144
139
  children: [
145
140
  /* @__PURE__ */ jsxs("div", { className: `flex flex_col ${input_container}`, children: [
146
- /* @__PURE__ */ jsxs("label", { htmlFor: "loanAmount", id: "amount1", children: [
147
- "Loan Amount ",
148
- showCurrency ? "($10,000 - $90,000)" : ""
149
- ] }),
141
+ /* @__PURE__ */ jsx("label", { htmlFor: "loanAmount", id: "amount1", children: "Loan Amount ($10,000 - $90,000)" }),
150
142
  /* @__PURE__ */ jsx(
151
143
  "input",
152
144
  {
@@ -155,7 +147,7 @@ const MonthlyPaymentCalculator = ({ variant, header, disclosure, bodyCopy, showC
155
147
  maxLength: 10,
156
148
  name: "loanAmount",
157
149
  type: "text",
158
- placeholder: showCurrency ? "$0" : "0",
150
+ placeholder: "$0",
159
151
  value: loanAmountDisplay,
160
152
  onChange: handleLoanAmountChange
161
153
  }
@@ -2,11 +2,12 @@ export * from './AnnualFeeCalculator';
2
2
  export * from './ApyCalculator';
3
3
  export * from './AxosOneCalculator';
4
4
  export * from './BalanceAPYCalculator';
5
+ export * from './BuyDownCalculator';
5
6
  export * from './Calculator';
6
7
  export * from './calculator.css';
7
8
  export * from './MarginTradingCalculator';
9
+ export * from './MarineLoanMonthlyPaymentCalculator';
8
10
  export * from './MaxLoanCalculator';
9
11
  export * from './MonthlyPaymentCalculator';
10
12
  export * from './MonthlyPaymentLVFCalculator';
11
13
  export * from './SummitApyCalculator';
12
- export * from './BuyDownCalculator';
@@ -2,14 +2,15 @@ import { AnnualFeeCalculator } from "./AnnualFeeCalculator/index.js";
2
2
  import { ApyCalculator } from "./ApyCalculator/index.js";
3
3
  import { AxosOneCalculator } from "./AxosOneCalculator/index.js";
4
4
  import { BalanceAPYCalculator } from "./BalanceAPYCalculator/index.js";
5
+ import { BuyDownCalculator } from "./BuyDownCalculator/index.js";
5
6
  import { Calculator } from "./Calculator.js";
6
7
  import { calculator, calculator_description, calculator_headline } from "./calculator.css.js";
7
8
  import { MarginTradingCalculator } from "./MarginTradingCalculator/index.js";
9
+ import { MarineLoanMonthlyPaymentCalculator } from "./MarineLoanMonthlyPaymentCalculator/index.js";
8
10
  import { MaxLoanCalculator } from "./MaxLoanCalculator/index.js";
9
11
  import { MonthlyPaymentCalculator } from "./MonthlyPaymentCalculator/index.js";
10
12
  import { MonthlyPaymentLVFCalculator } from "./MonthlyPaymentLVFCalculator/index.js";
11
13
  import { SummitApyCalculator } from "./SummitApyCalculator/index.js";
12
- import { BuyDownCalculator } from "./BuyDownCalculator/index.js";
13
14
  export {
14
15
  AnnualFeeCalculator,
15
16
  ApyCalculator,
@@ -18,6 +19,7 @@ export {
18
19
  BuyDownCalculator,
19
20
  Calculator,
20
21
  MarginTradingCalculator,
22
+ MarineLoanMonthlyPaymentCalculator,
21
23
  MaxLoanCalculator,
22
24
  MonthlyPaymentCalculator,
23
25
  MonthlyPaymentLVFCalculator,
@@ -41,7 +41,9 @@ import "../Input/InputPhone.js";
41
41
  import "../Input/InputTextArea.js";
42
42
  import "../Input/DownPaymentInput.js";
43
43
  import "../Input/RadioButton.js";
44
+ import "../Input/PercentageInput.js";
44
45
  import "react-hook-form";
46
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
45
47
  import "../Forms/Forms.css.js";
46
48
  import "../Forms/HoneyPot/index.js";
47
49
  import "../Forms/SalesforceFieldsForm.js";
@@ -62,8 +64,6 @@ import "iframe-resizer";
62
64
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
63
65
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
64
66
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
65
- import "../Input/PercentageInput.js";
66
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
67
67
  /* empty css */
68
68
  import "react-dom";
69
69
  /* empty css */
@@ -42,7 +42,9 @@ import "../Input/InputPhone.js";
42
42
  import "../Input/InputTextArea.js";
43
43
  import "../Input/DownPaymentInput.js";
44
44
  import "../Input/RadioButton.js";
45
+ import "../Input/PercentageInput.js";
45
46
  import "react-hook-form";
47
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
46
48
  import "../Forms/Forms.css.js";
47
49
  import "../Forms/HoneyPot/index.js";
48
50
  import "../Forms/SalesforceFieldsForm.js";
@@ -61,8 +63,6 @@ import "iframe-resizer";
61
63
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
62
64
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
63
65
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
64
- import "../Input/PercentageInput.js";
65
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
66
66
  /* empty css */
67
67
  import "react-dom";
68
68
  /* empty css */
@@ -40,7 +40,9 @@ import "../Input/InputPhone.js";
40
40
  import "../Input/InputTextArea.js";
41
41
  import "../Input/DownPaymentInput.js";
42
42
  import "../Input/RadioButton.js";
43
+ import "../Input/PercentageInput.js";
43
44
  import "react-hook-form";
45
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
44
46
  import "../Forms/Forms.css.js";
45
47
  import "../Forms/HoneyPot/index.js";
46
48
  import "../Forms/SalesforceFieldsForm.js";
@@ -60,8 +62,6 @@ import "iframe-resizer";
60
62
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
61
63
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
62
64
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
63
- import "../Input/PercentageInput.js";
64
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
65
65
  /* empty css */
66
66
  import "react-dom";
67
67
  /* empty css */
@@ -45,7 +45,9 @@ import "../Input/InputPhone.js";
45
45
  import "../Input/InputTextArea.js";
46
46
  import "../Input/DownPaymentInput.js";
47
47
  import "../Input/RadioButton.js";
48
+ import "../Input/PercentageInput.js";
48
49
  import "react-hook-form";
50
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
49
51
  import "../Forms/Forms.css.js";
50
52
  import "../Forms/HoneyPot/index.js";
51
53
  import "../Forms/SalesforceFieldsForm.js";
@@ -61,8 +63,6 @@ import "iframe-resizer";
61
63
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
62
64
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
63
65
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
64
- import "../Input/PercentageInput.js";
65
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
66
66
  /* empty css */
67
67
  import "react-dom";
68
68
  /* empty css */
@@ -40,7 +40,9 @@ import "../Input/InputPhone.js";
40
40
  import "../Input/InputTextArea.js";
41
41
  import "../Input/DownPaymentInput.js";
42
42
  import "../Input/RadioButton.js";
43
+ import "../Input/PercentageInput.js";
43
44
  import "react-hook-form";
45
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
44
46
  import "../Forms/Forms.css.js";
45
47
  import "../Forms/HoneyPot/index.js";
46
48
  import "../Forms/SalesforceFieldsForm.js";
@@ -62,8 +64,6 @@ import "iframe-resizer";
62
64
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
63
65
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
64
66
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
65
- import "../Input/PercentageInput.js";
66
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
67
67
  /* empty css */
68
68
  import "react-dom";
69
69
  /* empty css */
@@ -41,7 +41,9 @@ import "../../Input/InputPhone.js";
41
41
  import "../../Input/InputTextArea.js";
42
42
  import "../../Input/DownPaymentInput.js";
43
43
  import "../../Input/RadioButton.js";
44
+ import "../../Input/PercentageInput.js";
44
45
  import "react-hook-form";
46
+ import "../../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
45
47
  import "../../Forms/Forms.css.js";
46
48
  import "../../Forms/HoneyPot/index.js";
47
49
  import "../../Forms/SalesforceFieldsForm.js";
@@ -57,8 +59,6 @@ import "iframe-resizer";
57
59
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
60
  import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
59
61
  import "../../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
60
- import "../../Input/PercentageInput.js";
61
- import "../../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
62
62
  /* empty css */
63
63
  import "react-dom";
64
64
  /* empty css */
@@ -44,7 +44,9 @@ import "../Input/InputPhone.js";
44
44
  import "../Input/InputTextArea.js";
45
45
  import "../Input/DownPaymentInput.js";
46
46
  import "../Input/RadioButton.js";
47
+ import "../Input/PercentageInput.js";
47
48
  import "react-hook-form";
49
+ import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
48
50
  import { iconForm, headerForm, form, descriptionField, axosHeader, headerContainer, apply_now_form, formWrapper, step_title_apply_now, form_nav_apply_now, iconbillboards_option_apply_now, show_options, hide_options, back_btn_apply_now, disclosureForm, formContainer } from "./Forms.css.js";
49
51
  import "./HoneyPot/index.js";
50
52
  import "./SalesforceFieldsForm.js";
@@ -62,8 +64,6 @@ import "iframe-resizer";
62
64
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
63
65
  import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
64
66
  import "../Calculators/SummitApyCalculator/BalanceAPYCalculator.css.js";
65
- import "../Input/PercentageInput.js";
66
- import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
67
67
  /* empty css */
68
68
  import "react-dom";
69
69
  /* empty css */
@@ -236,6 +236,7 @@ const ApplyNow = ({
236
236
  title: "Choose the boat loan that fits your needs."
237
237
  });
238
238
  const variant = getVariant(fullVariant);
239
+ const backButtonVariant = ["tertiary", "quaternary"].includes(variant) && project !== "lvf" ? "tertiary" : "primary";
239
240
  return /* @__PURE__ */ jsx("section", { id, className: clsx(formContainer({ variant })), children: /* @__PURE__ */ jsx("div", { className: clsx("containment"), children: /* @__PURE__ */ jsxs(Fragment, { children: [
240
241
  icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", iconForm), children: ["primary", "secondary"].includes(variant) ? /* @__PURE__ */ jsx(SvgComponent, {}) : /* @__PURE__ */ jsx(SvgAxosX, {}) }),
241
242
  /* @__PURE__ */ jsxs(
@@ -401,7 +402,7 @@ const ApplyNow = ({
401
402
  dispatch({ type: "URL" });
402
403
  dispatch({ type: "Initial" });
403
404
  },
404
- variant: "primary",
405
+ variant: backButtonVariant,
405
406
  targetUrl: "#",
406
407
  displayText: "Back",
407
408
  leftArrow: true,
@@ -513,7 +514,7 @@ const ApplyNow = ({
513
514
  dispatch({ type: "back" });
514
515
  dispatch({ type: "URL" });
515
516
  },
516
- variant: "primary",
517
+ variant: backButtonVariant,
517
518
  targetUrl: "",
518
519
  displayText: "Back",
519
520
  leftArrow: true,
@@ -602,8 +603,8 @@ const ApplyNow = ({
602
603
  dispatch({ type: "back" });
603
604
  dispatch({ type: "URL" });
604
605
  },
605
- variant: "primary",
606
- targetUrl: "#!",
606
+ variant: backButtonVariant,
607
+ targetUrl: "#",
607
608
  displayText: "Back",
608
609
  leftArrow: true,
609
610
  classNameWrapper: clsx(back_btn_apply_now),