@axos-web-dev/shared-components 0.0.191 → 0.0.192

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 (40) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -0
  2. package/dist/Button/Button.js +1 -0
  3. package/dist/Calculators/Calculator.js +11 -0
  4. package/dist/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.d.ts +46 -0
  5. package/dist/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js +39 -0
  6. package/dist/Calculators/MonthlyPaymentLVFCalculator/index.d.ts +9 -0
  7. package/dist/Calculators/MonthlyPaymentLVFCalculator/index.js +257 -0
  8. package/dist/Calculators/index.d.ts +1 -0
  9. package/dist/Calculators/index.js +2 -0
  10. package/dist/Carousel/index.js +1 -0
  11. package/dist/Chevron/index.js +1 -0
  12. package/dist/Comparison/Comparison.js +1 -0
  13. package/dist/FaqAccordion/index.js +1 -0
  14. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -0
  15. package/dist/Forms/ContactUsBusiness.js +1 -0
  16. package/dist/Forms/ContactUsNMLSId.js +1 -0
  17. package/dist/Forms/EmailOnly.js +1 -0
  18. package/dist/Forms/MortgageRate/MortgageRateForm.js +1 -0
  19. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -0
  20. package/dist/Forms/SuccesForm.js +1 -0
  21. package/dist/Hyperlink/index.js +1 -0
  22. package/dist/ImageLink/ImageLink.js +1 -0
  23. package/dist/ImageLink/ImageLinkSet.js +1 -0
  24. package/dist/ImageLink/index.js +1 -0
  25. package/dist/Insight/Featured/CategorySelector.js +1 -0
  26. package/dist/Insight/Featured/Featured.js +1 -0
  27. package/dist/Insight/Featured/Header.js +1 -0
  28. package/dist/Modal/Modal.js +1 -0
  29. package/dist/NavigationMenu/AxosBank/NavData.js +1 -0
  30. package/dist/NavigationMenu/AxosBank/SubNavBar.js +1 -0
  31. package/dist/NavigationMenu/AxosBank/index.js +1 -0
  32. package/dist/NavigationMenu/LaVictoire/NavData.js +1 -0
  33. package/dist/NavigationMenu/LaVictoire/index.js +1 -0
  34. package/dist/SetContainer/SetContainer.js +1 -0
  35. package/dist/SocialMediaBar/iconsRepository.js +1 -0
  36. package/dist/SocialMediaBar/index.js +4 -2
  37. package/dist/VideoWrapper/index.js +1 -0
  38. package/dist/assets/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css +201 -0
  39. package/dist/main.js +2 -0
  40. package/package.json +1 -1
@@ -108,6 +108,7 @@ import "next/script.js";
108
108
  /* empty css */
109
109
  import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
110
110
  import "iframe-resizer";
111
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
111
112
  const ATMLocator = (props) => {
112
113
  const { id, bodyCopy, icon = false, disclosure, headline } = props;
113
114
  const variant = getVariant(props.variant);
@@ -53,6 +53,7 @@ import "../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -31,6 +31,7 @@ import { calculator_headline, calculator_description } from "./calculator.css.js
31
31
  import { MarginTradingCalculator } from "./MarginTradingCalculator/index.js";
32
32
  import { MaxLoanCalculator } from "./MaxLoanCalculator/index.js";
33
33
  import { MonthlyPaymentCalculator } from "./MonthlyPaymentCalculator/index.js";
34
+ import { MonthlyPaymentLVFCalculator } from "./MonthlyPaymentLVFCalculator/index.js";
34
35
  import { useRef, useEffect } from "react";
35
36
  /* empty css */
36
37
  import "../Carousel/index.js";
@@ -162,6 +163,16 @@ const Calculator = (props) => {
162
163
  disclosure
163
164
  }
164
165
  );
166
+ } else if (name === "Calculate a Loan Payment LVF") {
167
+ return /* @__PURE__ */ jsx(
168
+ MonthlyPaymentLVFCalculator,
169
+ {
170
+ variant,
171
+ header: headline,
172
+ bodyCopy,
173
+ disclosure
174
+ }
175
+ );
165
176
  } else if (name === "Max Loan") {
166
177
  return /* @__PURE__ */ jsx(MaxLoanCalculator, { header: headline, body: bodyCopy, variant });
167
178
  } else if (name === "Annual Fee") {
@@ -0,0 +1,46 @@
1
+ export declare const bg_vars: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ variant: {
3
+ primary: {
4
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
5
+ };
6
+ secondary: {
7
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
8
+ };
9
+ tertiary: {
10
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
+ };
12
+ quaternary: {
13
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
+ };
15
+ };
16
+ }>;
17
+ export declare const calc_content_area: string;
18
+ export declare const calc_h2: string;
19
+ export declare const calc_bodycopy: import('@vanilla-extract/recipes').RuntimeFn<{
20
+ variant: {
21
+ primary: {
22
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ };
24
+ secondary: {
25
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ };
27
+ tertiary: {
28
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ };
30
+ quaternary: {
31
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ };
33
+ };
34
+ }>;
35
+ export declare const lvf_calc_header: string;
36
+ export declare const lvf_calc_wrapper: string;
37
+ export declare const calc_wrapper_inner: string;
38
+ export declare const calc_input_wrap: string;
39
+ export declare const calc_input_styles: string;
40
+ export declare const error_dialog: string;
41
+ export declare const rounded_cell: string;
42
+ export declare const results_wrap: string;
43
+ export declare const result_value: string;
44
+ export declare const result_header: string;
45
+ export declare const waves: string;
46
+ export declare const parallax: string;
@@ -0,0 +1,39 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
6
+ var bg_vars = createRuntimeFn({ defaultClassName: "_1xynjwx0", variantClassNames: { variant: { primary: "_1xynjwx1", secondary: "_1xynjwx2", tertiary: "_1xynjwx3", quaternary: "_1xynjwx4" } }, defaultVariants: {}, compoundVariants: [] });
7
+ var calc_content_area = "_1xynjwx5";
8
+ var calc_h2 = "_1xynjwx6";
9
+ var calc_bodycopy = createRuntimeFn({ defaultClassName: "_1xynjwx7", variantClassNames: { variant: { primary: "_1xynjwx8", secondary: "_1xynjwx9", tertiary: "_1xynjwxa", quaternary: "_1xynjwxb" } }, defaultVariants: {}, compoundVariants: [] });
10
+ var lvf_calc_header = "_1xynjwxc";
11
+ var lvf_calc_wrapper = "_1xynjwxd";
12
+ var calc_wrapper_inner = "_1xynjwxe";
13
+ var calc_input_wrap = "_1xynjwxf";
14
+ var calc_input_styles = "_1xynjwxg";
15
+ var error_dialog = "_1xynjwxh";
16
+ var rounded_cell = "_1xynjwxi";
17
+ var results_wrap = "_1xynjwxj";
18
+ var result_value = "_1xynjwxk";
19
+ var result_header = "_1xynjwxl";
20
+ var waves = "_1xynjwxm";
21
+ var parallax = "_1xynjwxn";
22
+ export {
23
+ bg_vars,
24
+ calc_bodycopy,
25
+ calc_content_area,
26
+ calc_h2,
27
+ calc_input_styles,
28
+ calc_input_wrap,
29
+ calc_wrapper_inner,
30
+ error_dialog,
31
+ lvf_calc_header,
32
+ lvf_calc_wrapper,
33
+ parallax,
34
+ result_header,
35
+ result_value,
36
+ results_wrap,
37
+ rounded_cell,
38
+ waves
39
+ };
@@ -0,0 +1,9 @@
1
+ import { default as React, FC } from 'react';
2
+
3
+ export interface MonthlyPaymentLVFCalculatorProps {
4
+ variant?: string;
5
+ header?: React.ReactNode | string;
6
+ bodyCopy?: React.ReactNode | string;
7
+ disclosure?: React.ReactNode;
8
+ }
9
+ export declare const MonthlyPaymentLVFCalculator: FC<MonthlyPaymentLVFCalculatorProps>;
@@ -0,0 +1,257 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { button } from "../../Button/Button.css.js";
4
+ import "../../utils/allowedAxosDomains.js";
5
+ import { getVariant } from "../../utils/getVariant.js";
6
+ import { useState } from "react";
7
+ import { calc_disclosure } from "../BalanceAPYCalculator/BalanceAPYCalculator.css.js";
8
+ import { bg_vars, calc_content_area, calc_h2, calc_bodycopy, lvf_calc_wrapper, lvf_calc_header, calc_wrapper_inner, calc_input_wrap, rounded_cell, calc_input_styles, error_dialog, results_wrap, result_header, result_value, waves, parallax } from "./MonthlyPaymentCalculator.css.js";
9
+ const MonthlyPaymentLVFCalculator = ({ variant, header, bodyCopy, disclosure }) => {
10
+ const fullVariant = getVariant(variant);
11
+ const [loanAmountDisplay, setLoanAmountDisplay] = useState("$50,000");
12
+ const [loanAmount, setLoanAmount] = useState(5e4);
13
+ const [loanYears, setLoanYears] = useState(20);
14
+ const [interestRateDisplay, setInterestRateDisplay] = useState("8.25%");
15
+ const [interestRate, setInterestRate] = useState("8.25");
16
+ const [estimatedPayment, setEstimatedPayment] = useState(426.03);
17
+ const [loanAmountError, setLoanAmountError] = useState(null);
18
+ const [interestRateError, setInterestRateError] = useState(
19
+ null
20
+ );
21
+ const [isHovered, setIsHovered] = useState(false);
22
+ const handleMouseEnter = () => setIsHovered(true);
23
+ const handleMouseLeave = () => setIsHovered(false);
24
+ const stringToCurrency = (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) {
39
+ setLoanAmountError("Please enter an amount");
40
+ isValid = false;
41
+ } else {
42
+ setLoanAmountError(null);
43
+ }
44
+ if (!interestRate) {
45
+ setInterestRateError("Please enter an interest rate");
46
+ isValid = false;
47
+ } else {
48
+ setInterestRateError(null);
49
+ }
50
+ return isValid;
51
+ };
52
+ const handleLoanAmountChange = (event) => {
53
+ const value = event.target.value;
54
+ const formattedValue = stringToCurrency(value);
55
+ setLoanAmountDisplay(formattedValue);
56
+ const numericValue = parseFloat(value.replace(/[^0-9.]/g, ""));
57
+ setLoanAmount(numericValue);
58
+ };
59
+ const handleloanYearsChange = (event) => {
60
+ setLoanYears(Number(event.target.value));
61
+ };
62
+ const formatToPercentage = (value) => {
63
+ const numericValue = value.replace(/[^0-9.]/g, "");
64
+ if (numericValue === "") {
65
+ return "";
66
+ } else if (numericValue.endsWith("%")) {
67
+ return numericValue;
68
+ } else {
69
+ return numericValue.substring(0, numericValue.length - 2) + numericValue.substring(numericValue.length - 2) + "%";
70
+ }
71
+ };
72
+ const handleInterestRateChange = (event) => {
73
+ let value = event.target.value;
74
+ if (value.length < interestRateDisplay.length) {
75
+ if (interestRateDisplay.length > 1 && interestRateDisplay.endsWith("%")) {
76
+ value = interestRateDisplay.substring(0, interestRateDisplay.length - 2) + "%";
77
+ } else if (interestRateDisplay.length === 1) {
78
+ value = "";
79
+ } else {
80
+ value = interestRateDisplay.substring(
81
+ 0,
82
+ interestRateDisplay.length - 1
83
+ );
84
+ }
85
+ } else {
86
+ value = formatToPercentage(value);
87
+ }
88
+ setInterestRateDisplay(value);
89
+ setInterestRate(value.replace(/[^0-9.]/g, ""));
90
+ };
91
+ const calculateMonthlyPayment = () => {
92
+ const numericInterestRate = parseFloat(interestRate);
93
+ const monthlyInterestRate = numericInterestRate / 100 / 12;
94
+ const months = loanYears * 12;
95
+ if (!isNaN(loanAmount || 0) && !isNaN(numericInterestRate)) {
96
+ const monthlyPayment = (loanAmount || 0) * monthlyInterestRate / (1 - Math.pow(1 + monthlyInterestRate, -months));
97
+ setEstimatedPayment(monthlyPayment);
98
+ } else {
99
+ setEstimatedPayment(0);
100
+ }
101
+ };
102
+ const handleCalculate = () => {
103
+ if (validateInputs()) {
104
+ calculateMonthlyPayment();
105
+ } else {
106
+ setEstimatedPayment(0);
107
+ }
108
+ };
109
+ return /* @__PURE__ */ jsxs("section", { className: bg_vars({ variant: fullVariant }), children: [
110
+ /* @__PURE__ */ jsxs("div", { className: "containment", children: [
111
+ /* @__PURE__ */ jsxs("div", { className: "flex between middle gap_24", children: [
112
+ (header || bodyCopy) && /* @__PURE__ */ jsxs("span", { className: calc_content_area, children: [
113
+ header && /* @__PURE__ */ jsx("h2", { className: `header_1 ${calc_h2}`, children: header }),
114
+ bodyCopy && /* @__PURE__ */ jsx("div", { className: calc_bodycopy({ variant: fullVariant }), children: bodyCopy })
115
+ ] }),
116
+ /* @__PURE__ */ jsxs("div", { className: lvf_calc_wrapper, children: [
117
+ /* @__PURE__ */ jsx("div", { className: lvf_calc_header, children: "Calculate Your Payments" }),
118
+ /* @__PURE__ */ jsxs("div", { className: calc_wrapper_inner, children: [
119
+ /* @__PURE__ */ jsx("div", { className: calc_input_wrap, children: /* @__PURE__ */ jsxs("div", { className: rounded_cell, children: [
120
+ /* @__PURE__ */ jsx("label", { htmlFor: "loanAmount", id: "amount1", children: "$" }),
121
+ /* @__PURE__ */ jsx(
122
+ "input",
123
+ {
124
+ className: calc_input_styles,
125
+ id: "loanAmount",
126
+ maxLength: 10,
127
+ name: "loanAmount",
128
+ type: "text",
129
+ placeholder: "Loan Amount",
130
+ value: loanAmountDisplay,
131
+ onChange: handleLoanAmountChange
132
+ }
133
+ ),
134
+ loanAmountError && /* @__PURE__ */ jsx("span", { className: error_dialog, children: loanAmountError })
135
+ ] }) }),
136
+ /* @__PURE__ */ jsx("div", { className: `${calc_input_wrap} push_up_24`, children: /* @__PURE__ */ jsxs("div", { className: rounded_cell, children: [
137
+ /* @__PURE__ */ jsx("label", { htmlFor: "loanYears", children: "Years" }),
138
+ /* @__PURE__ */ jsx(
139
+ "select",
140
+ {
141
+ className: calc_input_styles,
142
+ id: "loanYears",
143
+ name: "loanYears",
144
+ value: loanYears,
145
+ onChange: handleloanYearsChange,
146
+ children: /* @__PURE__ */ jsx("option", { value: "20", selected: true, children: "20" })
147
+ }
148
+ )
149
+ ] }) }),
150
+ /* @__PURE__ */ jsx("div", { className: `${calc_input_wrap} push_up_24`, children: /* @__PURE__ */ jsxs("div", { className: rounded_cell, children: [
151
+ /* @__PURE__ */ jsx("label", { htmlFor: "interestRate", children: "%" }),
152
+ /* @__PURE__ */ jsx(
153
+ "input",
154
+ {
155
+ className: calc_input_styles,
156
+ id: "interestRate",
157
+ maxLength: 6,
158
+ name: "interestRate",
159
+ type: "text",
160
+ placeholder: "Interest Rate",
161
+ value: interestRateDisplay,
162
+ onChange: handleInterestRateChange
163
+ }
164
+ ),
165
+ interestRateError && /* @__PURE__ */ jsx("span", { className: error_dialog, children: interestRateError })
166
+ ] }) }),
167
+ /* @__PURE__ */ jsx("div", { className: `flex center middle push_up_24`, children: /* @__PURE__ */ jsx(
168
+ "input",
169
+ {
170
+ className: `${button({
171
+ color: "primary",
172
+ size: "medium",
173
+ rounded: "medium"
174
+ })} center`,
175
+ type: "button",
176
+ value: "Calculate",
177
+ onClick: handleCalculate,
178
+ onMouseEnter: handleMouseEnter,
179
+ onMouseLeave: handleMouseLeave,
180
+ style: {
181
+ backgroundColor: isHovered ? "transparent" : "#dd7b50"
182
+ }
183
+ }
184
+ ) }),
185
+ /* @__PURE__ */ jsxs(
186
+ "div",
187
+ {
188
+ className: `${results_wrap} text_center flex flex_col center middle push_up_24`,
189
+ children: [
190
+ /* @__PURE__ */ jsx("span", { className: result_header, children: "Your monthly loan payment will be:" }),
191
+ /* @__PURE__ */ jsxs("span", { id: "estimatedPayment", className: result_value, children: [
192
+ "$",
193
+ estimatedPayment.toFixed(2)
194
+ ] })
195
+ ]
196
+ }
197
+ )
198
+ ] })
199
+ ] })
200
+ ] }),
201
+ disclosure && /* @__PURE__ */ jsx("div", { className: calc_disclosure({ variant: fullVariant }), children: disclosure })
202
+ ] }),
203
+ /* @__PURE__ */ jsxs(
204
+ "svg",
205
+ {
206
+ className: waves,
207
+ xmlns: "http://www.w3.org/2000/svg",
208
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
209
+ viewBox: "0 24 150 28",
210
+ preserveAspectRatio: "none",
211
+ "shape-rendering": "auto",
212
+ children: [
213
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx(
214
+ "path",
215
+ {
216
+ id: "gentle-wave",
217
+ d: "M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"
218
+ }
219
+ ) }),
220
+ /* @__PURE__ */ jsxs("g", { className: parallax, children: [
221
+ /* @__PURE__ */ jsx(
222
+ "use",
223
+ {
224
+ xlinkHref: "#gentle-wave",
225
+ x: "48",
226
+ y: "0",
227
+ fill: "rgb(96 174 203 / 0.7)"
228
+ }
229
+ ),
230
+ /* @__PURE__ */ jsx(
231
+ "use",
232
+ {
233
+ xlinkHref: "#gentle-wave",
234
+ x: "48",
235
+ y: "3",
236
+ fill: "rgb(96 174 203 / 0.5)"
237
+ }
238
+ ),
239
+ /* @__PURE__ */ jsx(
240
+ "use",
241
+ {
242
+ xlinkHref: "#gentle-wave",
243
+ x: "48",
244
+ y: "5",
245
+ fill: "rgba(255,255,255,0.3)"
246
+ }
247
+ ),
248
+ /* @__PURE__ */ jsx("use", { xlinkHref: "#gentle-wave", x: "48", y: "7", fill: "#60AECB" })
249
+ ] })
250
+ ]
251
+ }
252
+ )
253
+ ] });
254
+ };
255
+ export {
256
+ MonthlyPaymentLVFCalculator
257
+ };
@@ -7,3 +7,4 @@ export * from './calculator.css';
7
7
  export * from './MarginTradingCalculator';
8
8
  export * from './MaxLoanCalculator';
9
9
  export * from './MonthlyPaymentCalculator';
10
+ export * from './MonthlyPaymentLVFCalculator';
@@ -7,6 +7,7 @@ import { calculator, calculator_description, calculator_headline } from "./calcu
7
7
  import { MarginTradingCalculator } from "./MarginTradingCalculator/index.js";
8
8
  import { MaxLoanCalculator } from "./MaxLoanCalculator/index.js";
9
9
  import { MonthlyPaymentCalculator } from "./MonthlyPaymentCalculator/index.js";
10
+ import { MonthlyPaymentLVFCalculator } from "./MonthlyPaymentLVFCalculator/index.js";
10
11
  export {
11
12
  AnnualFeeCalculator,
12
13
  ApyCalculator,
@@ -16,6 +17,7 @@ export {
16
17
  MarginTradingCalculator,
17
18
  MaxLoanCalculator,
18
19
  MonthlyPaymentCalculator,
20
+ MonthlyPaymentLVFCalculator,
19
21
  calculator,
20
22
  calculator_description,
21
23
  calculator_headline
@@ -58,6 +58,7 @@ import "../Hyperlink/Hyperlink.css.js";
58
58
  import "iframe-resizer";
59
59
  /* empty css */
60
60
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
61
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
61
62
  /* empty css */
62
63
  /* empty css */
63
64
  /* empty css */
@@ -55,6 +55,7 @@ import "../Hyperlink/Hyperlink.css.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -54,6 +54,7 @@ import "../Hyperlink/Hyperlink.css.js";
54
54
  import "iframe-resizer";
55
55
  /* empty css */
56
56
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
57
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
57
58
  /* empty css */
58
59
  /* empty css */
59
60
  /* empty css */
@@ -54,6 +54,7 @@ import "../Hyperlink/Hyperlink.css.js";
54
54
  import "iframe-resizer";
55
55
  /* empty css */
56
56
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
57
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
57
58
  /* empty css */
58
59
  /* empty css */
59
60
  /* empty css */
@@ -53,6 +53,7 @@ import "../../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -55,6 +55,7 @@ import "../Hyperlink/Hyperlink.css.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -55,6 +55,7 @@ import "../Hyperlink/Hyperlink.css.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -56,6 +56,7 @@ import "../Hyperlink/Hyperlink.css.js";
56
56
  import "iframe-resizer";
57
57
  /* empty css */
58
58
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
59
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
59
60
  /* empty css */
60
61
  /* empty css */
61
62
  /* empty css */
@@ -57,6 +57,7 @@ import "../../Hyperlink/Hyperlink.css.js";
57
57
  import "iframe-resizer";
58
58
  /* empty css */
59
59
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
60
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
60
61
  /* empty css */
61
62
  /* empty css */
62
63
  /* empty css */
@@ -54,6 +54,7 @@ import { SuccesFormWrapper } from "../SuccesForm.js";
54
54
  import "iframe-resizer";
55
55
  /* empty css */
56
56
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
57
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
57
58
  /* empty css */
58
59
  /* empty css */
59
60
  /* empty css */
@@ -28,6 +28,7 @@ import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
28
28
  import "iframe-resizer";
29
29
  /* empty css */
30
30
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
31
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
31
32
  /* empty css */
32
33
  /* empty css */
33
34
  /* empty css */
@@ -54,6 +54,7 @@ import "../Inputs/Input.css.js";
54
54
  import "iframe-resizer";
55
55
  /* empty css */
56
56
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
57
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
57
58
  /* empty css */
58
59
  /* empty css */
59
60
  /* empty css */
@@ -51,6 +51,7 @@ import "../Inputs/Input.css.js";
51
51
  import "iframe-resizer";
52
52
  /* empty css */
53
53
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
54
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
54
55
  /* empty css */
55
56
  /* empty css */
56
57
  /* empty css */
@@ -56,6 +56,7 @@ import "../Hyperlink/Hyperlink.css.js";
56
56
  import "iframe-resizer";
57
57
  /* empty css */
58
58
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
59
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
59
60
  /* empty css */
60
61
  /* empty css */
61
62
  /* empty css */
@@ -52,6 +52,7 @@ import "../Inputs/Input.css.js";
52
52
  import "iframe-resizer";
53
53
  /* empty css */
54
54
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
55
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
55
56
  /* empty css */
56
57
  /* empty css */
57
58
  /* empty css */
@@ -53,6 +53,7 @@ import "../../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -55,6 +55,7 @@ import "../../Hyperlink/Hyperlink.css.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -53,6 +53,7 @@ import "../../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -50,6 +50,7 @@ import "../Hyperlink/Hyperlink.css.js";
50
50
  import "iframe-resizer";
51
51
  /* empty css */
52
52
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
53
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
53
54
  /* empty css */
54
55
  /* empty css */
55
56
  /* empty css */
@@ -53,6 +53,7 @@ import "../../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -55,6 +55,7 @@ import { Hyperlink } from "../../Hyperlink/index.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -52,6 +52,7 @@ import "../../Hyperlink/Hyperlink.css.js";
52
52
  import "iframe-resizer";
53
53
  /* empty css */
54
54
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
55
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
55
56
  /* empty css */
56
57
  /* empty css */
57
58
  /* empty css */
@@ -53,6 +53,7 @@ import "../../Hyperlink/Hyperlink.css.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -52,6 +52,7 @@ import "../../Hyperlink/Hyperlink.css.js";
52
52
  import "iframe-resizer";
53
53
  /* empty css */
54
54
  import "../../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
55
+ import "../../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
55
56
  /* empty css */
56
57
  /* empty css */
57
58
  /* empty css */
@@ -55,6 +55,7 @@ import "../Hyperlink/Hyperlink.css.js";
55
55
  import "iframe-resizer";
56
56
  /* empty css */
57
57
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
58
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
58
59
  /* empty css */
59
60
  /* empty css */
60
61
  /* empty css */
@@ -53,6 +53,7 @@ import { Hyperlink } from "../Hyperlink/index.js";
53
53
  import "iframe-resizer";
54
54
  /* empty css */
55
55
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
56
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
56
57
  /* empty css */
57
58
  /* empty css */
58
59
  /* empty css */
@@ -10,8 +10,10 @@ const SocialMediaBar = ({
10
10
  }) => {
11
11
  const [isLVF, setLVF] = useState(false);
12
12
  useEffect(() => {
13
- const lvf = document.getElementById("lvf-page");
14
- lvf ? setLVF(true) : null;
13
+ const lvfElement = document.getElementById("lvf-page");
14
+ if (lvfElement) {
15
+ setLVF(true);
16
+ }
15
17
  }, []);
16
18
  const iconsToRender = [];
17
19
  if (!isLVF) {
@@ -54,6 +54,7 @@ import "../Hyperlink/Hyperlink.css.js";
54
54
  import "iframe-resizer";
55
55
  /* empty css */
56
56
  import "../Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
57
+ import "../Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.js";
57
58
  /* empty css */
58
59
  /* empty css */
59
60
  /* empty css */
@@ -0,0 +1,201 @@
1
+ @keyframes move-forever {
2
+ 0% {
3
+ transform: translate3d(-90px,0,0);
4
+ }
5
+ 100% {
6
+ transform: translate3d(85px,0,0);
7
+ }
8
+ }
9
+ ._1xynjwx0 {
10
+ position: relative;
11
+ isolation: isolate;
12
+ padding-block: 56px;
13
+ }
14
+ ._1xynjwx1 {
15
+ background: var(--_1073cm81);
16
+ }
17
+ ._1xynjwx2 {
18
+ background: var(--_1073cm88);
19
+ }
20
+ ._1xynjwx3 {
21
+ background: var(--_1073cm8f);
22
+ }
23
+ ._1xynjwx4 {
24
+ background: var(--_1073cm8m);
25
+ }
26
+ ._1xynjwx5 {
27
+ flex: 1 1 0%;
28
+ }
29
+ ._1xynjwx6 {
30
+ color: #28587d;
31
+ line-height: 1.25;
32
+ }
33
+ ._1xynjwx7 {
34
+ margin-top: 1.5rem;
35
+ }
36
+ ._1xynjwx8 {
37
+ color: var(--_1073cm82);
38
+ }
39
+ ._1xynjwx9 {
40
+ color: var(--_1073cm89);
41
+ }
42
+ ._1xynjwxa {
43
+ color: var(--_1073cm8g);
44
+ }
45
+ ._1xynjwxb {
46
+ color: var(--_1073cm8n);
47
+ }
48
+ ._1xynjwxc {
49
+ background-color: #1C3D57;
50
+ color: #fff;
51
+ padding: 12px;
52
+ text-align: center;
53
+ font: 600 20px / 1.25 var(--header-font-family);
54
+ }
55
+ ._1xynjwxd {
56
+ background-color: #E7F5FA;
57
+ border-radius: 16px;
58
+ box-shadow: rgba(0,0,0,0.2) 0px 1px 3px , rgba(0,0,0,0.1) 0px 6px 12px -4px , rgba(0,0,0,0.2) 0px -3px 0px inset;
59
+ overflow: hidden;
60
+ width: 400px;
61
+ }
62
+ ._1xynjwxe {
63
+ padding: 28px 32px;
64
+ }
65
+ ._1xynjwxf {
66
+ position: relative;
67
+ }
68
+ ._1xynjwxf select {
69
+ -webkit-appearance: none;
70
+ -moz-appearance: none;
71
+ appearance: none;
72
+ background-color: #fff;
73
+ }
74
+ ._1xynjwxf select:hover {
75
+ cursor: pointer;
76
+ }
77
+ ._1xynjwxf label {
78
+ background-color: #1C3D57;
79
+ color: #fff;
80
+ display: grid;
81
+ place-items: center;
82
+ padding-inline: 18px;
83
+ }
84
+ ._1xynjwxg {
85
+ border: none;
86
+ outline: none;
87
+ padding: .7rem;
88
+ width: 100%;
89
+ }
90
+ ._1xynjwxf label[for='loanYears'] {
91
+ order: 2;
92
+ }
93
+ ._1xynjwxf label[for='interestRate'] {
94
+ order: 2;
95
+ min-width: 77px;
96
+ }
97
+ ._1xynjwxh {
98
+ bottom: -20px;
99
+ color: #8C1900;
100
+ font-size: 12px;
101
+ left: 15px;
102
+ position: absolute;
103
+ }
104
+ ._1xynjwxi {
105
+ border-radius: 8px;
106
+ display: flex;
107
+ overflow: hidden;
108
+ width: 100%;
109
+ }
110
+ ._1xynjwxj {
111
+ background-color: #1F7A96;
112
+ border-radius: 8px;
113
+ box-shadow: rgba(31,122,150,0.3) 8px 8px 16px 0px;
114
+ color: #fff;
115
+ padding: 32px 28px;
116
+ }
117
+ ._1xynjwxk {
118
+ font-size: 2.5rem;
119
+ font-weight: 700;
120
+ }
121
+ ._1xynjwxl {
122
+ color: rgb(255 255 255 / 73%);
123
+ font-size: 16px;
124
+ font-weight: 700;
125
+ letter-spacing: .4px;
126
+ }
127
+ ._1xynjwxm {
128
+ bottom: 0;
129
+ height: 200px;
130
+ left: 0;
131
+ margin-bottom: -7px;
132
+ position: absolute;
133
+ width: 100%;
134
+ z-index: -1;
135
+ }
136
+ ._1xynjwxn > use {
137
+ animation: move-forever 25s cubic-bezier(0.55,0.5,0.45,0.5) infinite;
138
+ }
139
+ ._1xynjwxn > use:nth-child(1) {
140
+ animation-delay: -2s;
141
+ animation-duration: 7s;
142
+ }
143
+ ._1xynjwxn > use:nth-child(2) {
144
+ animation-delay: -3s;
145
+ animation-duration: 10s;
146
+ }
147
+ ._1xynjwxn > use:nth-child(3) {
148
+ animation-delay: -4s;
149
+ animation-duration: 13s;
150
+ }
151
+ ._1xynjwxn > use:nth-child(4) {
152
+ animation-delay: -5s;
153
+ animation-duration: 20s;
154
+ }
155
+ .section_spacer:has(._1xynjwxn) {
156
+ margin-top: 0px;
157
+ }
158
+ @media screen and (max-width: 1023px) {
159
+ ._1xynjwx0 {
160
+ padding-block: 42px;
161
+ }
162
+ }
163
+ @media screen and (max-width: 768px) {
164
+ ._1xynjwx0 {
165
+ padding-block: 2rem;
166
+ }
167
+ }
168
+ @media screen and (max-width:1023px) {
169
+ ._1xynjwx5 {
170
+ text-align: center;
171
+ }
172
+ ._1xynjwxd {
173
+ width: min(400px, 100%);
174
+ }
175
+ ._1xynjwxg {
176
+ width: 100%;
177
+ }
178
+ ._1xynjwx0 .gap_24 {
179
+ flex-direction: column;
180
+ }
181
+ }
182
+ @media screen and (min-width:1024px) {
183
+ ._1xynjwx6 {
184
+ font-size: 48px;
185
+ }
186
+ }
187
+ @media screen and (max-width:470px) {
188
+ ._1xynjwxc {
189
+ font-size: 18px;
190
+ }
191
+ ._1xynjwxe {
192
+ padding: 24px 16px;
193
+ }
194
+ ._1xynjwxj {
195
+ margin-top: 16px;
196
+ padding: 18px 16px;
197
+ }
198
+ ._1xynjwxl {
199
+ font-size: 15px;
200
+ }
201
+ }
package/dist/main.js CHANGED
@@ -26,6 +26,7 @@ import { calculator, calculator_description, calculator_headline } from "./Calcu
26
26
  import { MarginTradingCalculator } from "./Calculators/MarginTradingCalculator/index.js";
27
27
  import { MaxLoanCalculator } from "./Calculators/MaxLoanCalculator/index.js";
28
28
  import { MonthlyPaymentCalculator } from "./Calculators/MonthlyPaymentCalculator/index.js";
29
+ import { MonthlyPaymentLVFCalculator } from "./Calculators/MonthlyPaymentLVFCalculator/index.js";
29
30
  import { CallToActionBar } from "./CallToActionBar/index.js";
30
31
  import { Carousel, CarouselSlide } from "./Carousel/index.js";
31
32
  import { Chevron } from "./Chevron/index.js";
@@ -278,6 +279,7 @@ export {
278
279
  default15 as MemberFdicLogo,
279
280
  Modal,
280
281
  MonthlyPaymentCalculator,
282
+ MonthlyPaymentLVFCalculator,
281
283
  MortgageRate,
282
284
  MortgageRateFilters,
283
285
  default27 as NavBarAAS,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@axos-web-dev/shared-components",
3
3
  "description": "Axos shared components library for web.",
4
- "version": "0.0.191",
4
+ "version": "0.0.192",
5
5
  "type": "module",
6
6
  "module": "dist/main.js",
7
7
  "types": "dist/main.d.ts",