@axos-web-dev/shared-components 1.0.100-feature-comparisonCTAs.1 → 1.0.100-feature-ax1-calc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ATMLocator/ATMLocator.js +9 -3
- package/dist/Article/Article.css.d.ts +9 -36
- package/dist/Article/Article.css.js +10 -8
- package/dist/Article/index.js +3 -2
- package/dist/ArticlesSet/ArticlesSet.css.d.ts +10 -70
- package/dist/ArticlesSet/ArticlesSet.js +3 -3
- package/dist/Auth/ErrorAlert.js +8 -2
- package/dist/Auth/SignInPassword.js +2 -2
- package/dist/Avatar/Avatar.module.js +7 -7
- package/dist/AwardsBanner/AwardsBanner.css.js +4 -1
- package/dist/AwardsItem/AwardsItem.css.js +1 -2
- package/dist/Blockquote/Blockquote.module.js +3 -3
- package/dist/BulletItem/BulletItem.js +1 -0
- package/dist/Button/Button.css.d.ts +3 -3
- package/dist/Button/Button.js +8 -2
- package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
- package/dist/Calculators/ApyCalculator/ApyCalculator.css.d.ts +2 -30
- package/dist/Calculators/ApyCalculator/index.js +11 -5
- package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.d.ts +3 -0
- package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js +9 -2
- package/dist/Calculators/AxosOneCalculator/index.d.ts +3 -0
- package/dist/Calculators/AxosOneCalculator/index.js +104 -69
- package/dist/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.d.ts +2 -30
- package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.d.ts +0 -1
- package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.js +2 -4
- package/dist/Calculators/BuyDownCalculator/index.d.ts +4 -1
- package/dist/Calculators/BuyDownCalculator/index.js +108 -68
- package/dist/Calculators/Calculator.d.ts +3 -0
- package/dist/Calculators/Calculator.js +16 -6
- package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
- package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/SummitApyCalculator/index.js +15 -6
- package/dist/Calculators/calculator.css.d.ts +2 -8
- package/dist/CallToActionBar/CallToActionBar.css.d.ts +3 -1
- package/dist/CallToActionBar/CallToActionBar.css.js +22 -16
- package/dist/CallToActionBar/index.js +4 -3
- package/dist/Carousel/Carousel.css.d.ts +8 -19
- package/dist/Carousel/index.js +8 -2
- package/dist/Chatbot/Bubble.css.d.ts +2 -0
- package/dist/Chatbot/Bubble.css.js +7 -0
- package/dist/Chatbot/Bubble.d.ts +5 -0
- package/dist/Chatbot/Bubble.js +103 -0
- package/dist/Chatbot/Chat.d.ts +1 -0
- package/dist/Chatbot/Chat.js +165 -0
- package/dist/Chatbot/ChatWindow.css.d.ts +19 -0
- package/dist/Chatbot/ChatWindow.css.js +41 -0
- package/dist/Chatbot/ChatWindow.d.ts +26 -0
- package/dist/Chatbot/ChatWindow.js +467 -0
- package/dist/Chatbot/Chatbot.css.d.ts +2 -0
- package/dist/Chatbot/Chatbot.css.js +7 -0
- package/dist/Chatbot/Chatbot.css.ts.vanilla.css.js +1 -0
- package/dist/Chatbot/Chatbot.d.ts +10 -0
- package/dist/Chatbot/Chatbot.js +257 -0
- package/dist/Chatbot/EllipsisAnimation.d.ts +2 -0
- package/dist/Chatbot/EllipsisAnimation.js +85 -0
- package/dist/Chatbot/EllipsisIcon.d.ts +4 -0
- package/dist/Chatbot/EllipsisIcon.js +19 -0
- package/dist/Chatbot/authenticate.d.ts +3 -0
- package/dist/Chatbot/authenticate.js +16 -0
- package/dist/Chatbot/index.d.ts +8 -0
- package/dist/Chatbot/index.js +39 -0
- package/dist/Chatbot/store/chat.d.ts +10 -0
- package/dist/Chatbot/store/chat.js +18 -0
- package/dist/Chatbot/store/messages.d.ts +15 -0
- package/dist/Chatbot/store/messages.js +13 -0
- package/dist/Chatbot/useHeadlessChat.d.ts +27 -0
- package/dist/Chatbot/useHeadlessChat.js +240 -0
- package/dist/Chevron/Chevron.css.d.ts +2 -2
- package/dist/Chevron/index.js +8 -2
- package/dist/CollectInformationAlert/index.js +1 -1
- package/dist/Comparison/Comparison.js +8 -2
- package/dist/ContentBanner/ContentBanner.css.js +2 -1
- package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +153 -0
- package/dist/ExecutiveBio/ExecutiveBio.css.js +50 -0
- package/dist/ExecutiveBio/ExecutiveBio.d.ts +1 -1
- package/dist/ExecutiveBio/ExecutiveBio.interface.d.ts +11 -4
- package/dist/ExecutiveBio/ExecutiveBio.js +266 -7
- package/dist/ExecutiveBio/Overlay.d.ts +8 -0
- package/dist/ExecutiveBio/Overlay.js +589 -0
- package/dist/ExecutiveBio/index.js +26 -1
- package/dist/FaqAccordion/index.js +8 -2
- package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +11 -9
- package/dist/Forms/ApplicationStart.js +4 -2
- package/dist/Forms/ApplyNow.js +9 -3
- package/dist/Forms/ClearingForm.js +4 -2
- package/dist/Forms/CommercialDeposits.js +4 -2
- package/dist/Forms/CommercialDepositsNoLendingOption.d.ts +16 -0
- package/dist/Forms/CommercialDepositsNoLendingOption.js +332 -0
- package/dist/Forms/CommercialLending.js +4 -2
- package/dist/Forms/CommercialPremiumFinance.js +4 -2
- package/dist/Forms/ContactCompany.js +4 -2
- package/dist/Forms/ContactCompanyTitle.js +4 -2
- package/dist/Forms/ContactUs.js +4 -2
- package/dist/Forms/ContactUsAAS.js +4 -2
- package/dist/Forms/ContactUsBusiness.d.ts +1 -1
- package/dist/Forms/ContactUsBusiness.js +16 -8
- package/dist/Forms/ContactUsBusinessNameEmail.js +12 -4
- package/dist/Forms/ContactUsLVF.js +6 -3
- package/dist/Forms/ContactUsNMLSId.js +12 -4
- package/dist/Forms/CpraRequest.d.ts +1 -1
- package/dist/Forms/CpraRequest.js +5 -2
- package/dist/Forms/CraPublicFile.js +12 -4
- package/dist/Forms/DealerServices.js +4 -2
- package/dist/Forms/EmailOnly.js +94 -66
- package/dist/Forms/EmailUs.js +7 -5
- package/dist/Forms/FormEnums.js +4 -1
- package/dist/Forms/Forms.css.d.ts +8 -31
- package/dist/Forms/Forms.css.js +50 -44
- package/dist/Forms/HoneyPot/index.js +2 -1
- package/dist/Forms/MortgageRate/MortgageRateForm.js +44 -15
- package/dist/Forms/MortgageRate/MortgageRateQuoteFilters.js +11 -5
- package/dist/Forms/MortgageRate/MortgageRateWatch.js +8 -2
- package/dist/Forms/MortgageWarehouseLending.js +12 -4
- package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
- package/dist/Forms/ScheduleCall.js +4 -2
- package/dist/Forms/ScheduleCallPremier.js +4 -2
- package/dist/Forms/SuccesForm.js +10 -4
- package/dist/Forms/VendorQuestionnaire.js +6 -2
- package/dist/Forms/index.d.ts +1 -0
- package/dist/Forms/index.js +7 -1
- package/dist/HeroBanner/HeroBanner.css.d.ts +5 -17
- package/dist/HeroBanner/HeroBanner.css.js +2 -1
- package/dist/HeroBanner/HeroBanner.js +14 -16
- package/dist/HeroBanner/SelectionBanner.css.d.ts +1 -19
- package/dist/HeroBanner/SelectionBanner.css.js +6 -6
- package/dist/Hyperlink/Hyperlink.css.d.ts +4 -4
- package/dist/Hyperlink/Hyperlink.css.js +4 -1
- package/dist/Hyperlink/index.js +8 -2
- package/dist/IconBillboard/IconBillboard.css.d.ts +6 -40
- package/dist/ImageBillboard/ImageBillboard.css.d.ts +5 -61
- package/dist/ImageBillboard/ImageBillboard.css.js +2 -1
- package/dist/ImageLink/ImageLink.js +9 -3
- package/dist/ImageLink/ImageLinkSet.js +8 -2
- package/dist/ImageLink/index.js +8 -2
- package/dist/Input/Input.css.d.ts +1 -0
- package/dist/Input/Input.css.js +10 -8
- package/dist/Input/index.js +2 -1
- package/dist/Insight/Featured/CategorySelector.js +8 -2
- package/dist/Insight/Featured/Featured.js +8 -2
- package/dist/Insight/Featured/Header.js +8 -2
- package/dist/Insight/Insight.css.d.ts +18 -0
- package/dist/Insight/Insight.css.js +44 -8
- package/dist/Insight/index.js +19 -1
- package/dist/LandingPageHeader/LandingPageHeader.css.d.ts +2 -0
- package/dist/LandingPageHeader/LandingPageHeader.css.js +6 -2
- package/dist/LandingPageHeader/LandingPageHeader.js +18 -9
- package/dist/LandingPageHeader/index.js +3 -1
- package/dist/LoadingIndicator/LoadingIndicator.css.d.ts +4 -4
- package/dist/LoadingIndicator/index.js +1 -0
- package/dist/Modal/Modal.css.d.ts +1 -0
- package/dist/Modal/Modal.css.js +5 -3
- package/dist/Modal/Modal.js +11 -5
- package/dist/Modal/contextApi/store.js +1 -1
- package/dist/NavigationMenu/AxosALTS/NavData.js +8 -2
- package/dist/NavigationMenu/AxosALTS/index.js +8 -2
- package/dist/NavigationMenu/AxosAdvisor/NavBar.css.d.ts +2 -0
- package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +7 -2
- package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
- package/dist/NavigationMenu/AxosAdvisor/index.js +40 -22
- package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.d.ts +2 -0
- package/dist/NavigationMenu/AxosAdvisorServices/NavBar.css.js +7 -2
- package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
- package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.d.ts +1 -1
- package/dist/NavigationMenu/AxosAdvisorServices/SubNavbar.css.js +2 -2
- package/dist/NavigationMenu/AxosAdvisorServices/index.js +14 -8
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +2 -2
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +16 -16
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +5 -10
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +18 -21
- package/dist/NavigationMenu/AxosBank/NavBar.css.js +2 -1
- package/dist/NavigationMenu/AxosBank/NavBar.module.js +41 -41
- package/dist/NavigationMenu/AxosBank/NavData.js +8 -2
- package/dist/NavigationMenu/AxosBank/SubNavBar.js +288 -332
- package/dist/NavigationMenu/AxosBank/SubNavbar.css.d.ts +2 -0
- package/dist/NavigationMenu/AxosBank/SubNavbar.css.js +4 -0
- package/dist/NavigationMenu/AxosBank/index.js +8 -2
- package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
- package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
- package/dist/NavigationMenu/LaVictoire/NavData.js +8 -2
- package/dist/NavigationMenu/LaVictoire/index.js +8 -2
- package/dist/NavigationMenu/NavDataJson.js +8 -2
- package/dist/NavigationMenu/Navbar.js +8 -2
- package/dist/NavigationMenu/SignInNavButton.js +8 -2
- package/dist/PageNavItem/PageNavItem.css.d.ts +4 -22
- package/dist/Pagination/Pagination.js +6 -6
- package/dist/SetContainer/SetContainer.js +9 -3
- package/dist/SocialMediaBar/iconsRepository.js +8 -2
- package/dist/StepItem/StepItem.css.d.ts +8 -36
- package/dist/StepItemSet/StepItemSet.css.d.ts +6 -32
- package/dist/StepItemSet/StepItemSet.css.js +12 -6
- package/dist/StepItemSet/StepItemSet.d.ts +8 -0
- package/dist/StepItemSet/StepItemSet.js +38 -14
- package/dist/StepItemSet/index.js +4 -2
- package/dist/Tab/Tab.js +1 -0
- package/dist/Table/Table.css.d.ts +7 -7
- package/dist/Table/Table.css.js +5 -5
- package/dist/Table/Table.js +1 -1
- package/dist/VideoTile/VideoTile.js +8 -2
- package/dist/VideoWrapper/index.js +8 -2
- package/dist/WalnutIframe/wrapper.module.js +3 -3
- package/dist/assets/Accordion/Accordion.css +4 -4
- package/dist/assets/Article/Article.css +87 -86
- package/dist/assets/ArticlesSet/ArticlesSet.css +26 -56
- package/dist/assets/Auth/SignIn.css +12 -12
- package/dist/assets/Avatar/Avatar.css.css +10 -10
- package/dist/assets/AwardsBanner/AwardsBanner.css +1 -1
- package/dist/assets/AwardsItem/AwardsItem.css +3 -4
- package/dist/assets/Blockquote/Blockquote.css.css +21 -17
- package/dist/assets/Button/Button.css +28 -28
- package/dist/assets/Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css +8 -8
- package/dist/assets/Calculators/ApyCalculator/ApyCalculator.css +12 -21
- package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +72 -14
- package/dist/assets/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css +22 -34
- package/dist/assets/Calculators/BuyDownCalculator/BuyDownCalculator.css +15 -21
- package/dist/assets/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css +9 -9
- package/dist/assets/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css +10 -10
- package/dist/assets/Calculators/SummitApyCalculator/BalanceAPYCalculator.css +18 -10
- package/dist/assets/Calculators/calculator.css +9 -15
- package/dist/assets/CallToActionBar/CallToActionBar.css +95 -69
- package/dist/assets/Carousel/Carousel.css +27 -41
- package/dist/assets/Chatbot/Bubble.css +51 -0
- package/dist/assets/Chatbot/ChatWindow.css +225 -0
- package/dist/assets/Chevron/Chevron.css +11 -10
- package/dist/assets/CollectInformationAlert/CollectInformationAlert.css +4 -3
- package/dist/assets/Comparison/Comparison.css +5 -4
- package/dist/assets/ContentBanner/ContentBanner.css +14 -8
- package/dist/assets/DownloadTile/DownloadTile.css +6 -6
- package/dist/assets/ExecutiveBio/ExecutiveBio.css +342 -27
- package/dist/assets/FaqAccordion/FaqAccordion.css +5 -5
- package/dist/assets/FooterDisclosure/FooterDisclosure.css +1 -1
- package/dist/assets/FooterSiteMap/AxosBank/FooterSiteMap.css +3 -8
- package/dist/assets/Forms/Forms.css +176 -165
- package/dist/assets/Forms/QuickPricer/UserInformation.css +1 -1
- package/dist/assets/HeroBanner/HeroBanner.css +85 -76
- package/dist/assets/HeroBanner/LargeBanner.css +15 -15
- package/dist/assets/HeroBanner/SelectionBanner.css +15 -29
- package/dist/assets/Hyperlink/Hyperlink.css +4 -4
- package/dist/assets/IconBillboard/IconBillboard.css +32 -48
- package/dist/assets/ImageBillboard/ImageBillboard.css +59 -64
- package/dist/assets/Input/Input.css +54 -47
- package/dist/assets/Inputs/Input.css +4 -4
- package/dist/assets/Insight/Featured/CategorySelector.css +1 -1
- package/dist/assets/Insight/Insight.css +212 -43
- package/dist/assets/Interstitial/Interstitial-variants.css +3 -3
- package/dist/assets/LandingPageHeader/LandingPageHeader.css +37 -4
- package/dist/assets/LoadingIndicator/LoadingIndicator.css +5 -5
- package/dist/assets/Modal/Modal.css +17 -28
- package/dist/assets/NavigationMenu/AxosALTS/NavBar.css +1 -1
- package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +25 -2
- package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +138 -126
- package/dist/assets/NavigationMenu/AxosAdvisor/SubNavbar.css +5 -4
- package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css +25 -2
- package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css.css +142 -130
- package/dist/assets/NavigationMenu/AxosAdvisorServices/SubNavbar.css +22 -4
- package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +32 -31
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css +21 -9
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +120 -148
- package/dist/assets/NavigationMenu/AxosBank/SubNavbar.css +35 -1
- package/dist/assets/NavigationMenu/AxosClearing/NavBar.css.css +133 -107
- package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +84 -83
- package/dist/assets/PageNavItem/PageNavItem.css +16 -33
- package/dist/assets/Pagination/Pagination.css +1 -1
- package/dist/assets/SetContainer/SetContainer.css +5 -5
- package/dist/assets/StepItem/StepItem.css +26 -42
- package/dist/assets/StepItemSet/StepItemSet.css +50 -41
- package/dist/assets/Tab/Tab.css +12 -12
- package/dist/assets/Table/Table.css +90 -97
- package/dist/assets/TextBlock/TextBlock.css +1 -1
- package/dist/assets/TopicalNavItem/TopicalNavItem.css +3 -3
- package/dist/assets/TopicalNavSet/TopicalNavSet.css +1 -1
- package/dist/assets/VideoTile/VideoTile.css +1 -1
- package/dist/assets/WalnutIframe/wrapper.css.css +7 -8
- package/dist/assets/globals.css +11 -8
- package/dist/assets/icons/ArrowIcon/ArrowIcon.css +3 -3
- package/dist/assets/icons/DownloadIcon/DownloadIcon.css +1 -1
- package/dist/assets/icons/FollowIcon/FollowIcon.css +1 -1
- package/dist/assets/themes/axos.css +32 -32
- package/dist/assets/themes/premier.css +31 -31
- package/dist/assets/themes/victorie.css +23 -23
- package/dist/icons/CheckCircle.js +1 -1
- package/dist/icons/CheckCircleLight.js +1 -1
- package/dist/icons/CheckIcon/index.js +1 -1
- package/dist/icons/Clock/index.js +6 -6
- package/dist/icons/Logos/SPB.d.ts +4 -0
- package/dist/icons/Logos/SPB.js +132 -0
- package/dist/icons/QuoteIconGrey.js +2 -2
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.js +2 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +121 -22
- package/dist/themes/axos.css.d.ts +12 -12
- package/dist/themes/axos.css.js +1 -1
- package/dist/utils/allowedAxosDomains.js +2 -1
- package/dist/utils/emailValidation.d.ts +1 -0
- package/dist/utils/emailValidation.js +31 -0
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +9 -1
- package/dist/utils/nmlsValidation.d.ts +1 -0
- package/dist/utils/nmlsValidation.js +34 -0
- package/dist/utils/useCachedValidators.d.ts +2 -0
- package/dist/utils/useCachedValidators.js +22 -0
- package/package.json +5 -2
|
@@ -16,14 +16,14 @@ import "../../Input/InputAmount.js";
|
|
|
16
16
|
import "../../Input/InputPhone.js";
|
|
17
17
|
import "../../Input/InputTextArea.js";
|
|
18
18
|
import "../../Input/DownPaymentInput.js";
|
|
19
|
-
import
|
|
19
|
+
import "../../Input/RadioButton.js";
|
|
20
20
|
import { PercentageInput } from "../../Input/PercentageInput.js";
|
|
21
21
|
import "../../utils/allowedAxosDomains.js";
|
|
22
|
+
import { z } from "zod";
|
|
22
23
|
import { getVariant } from "../../utils/getVariant.js";
|
|
23
24
|
import clsx from "clsx";
|
|
24
25
|
import { useForm, FormProvider } from "react-hook-form";
|
|
25
|
-
import {
|
|
26
|
-
import { calc_container, calculator_section, section_header, theme_header, mt_8, buydown_calculator_form, row_form, limit_one, calculate_row, form_wrapper, form_disclosure } from "./BuyDownCalculator.css.js";
|
|
26
|
+
import { calc_container, calculator_section, section_header, theme_header, mt_8, buydown_calculator_form, row_form, calculate_row, form_wrapper, form_disclosure } from "./BuyDownCalculator.css.js";
|
|
27
27
|
const BuyDownCalculator = ({
|
|
28
28
|
header,
|
|
29
29
|
body,
|
|
@@ -45,12 +45,12 @@ const BuyDownCalculator = ({
|
|
|
45
45
|
const [dealerContributionAmount, setDealerContributionAmount] = useState("");
|
|
46
46
|
const [enableFullTimeCharter, setEnableFullTimeCharter] = useState(false);
|
|
47
47
|
const [disableMooringOutside, setDisableMooringOutside] = useState(false);
|
|
48
|
-
const [disableLTVAbove60, setDisableLTVAbove60] = useState(true);
|
|
49
48
|
const [isDealerContributionDisabled, setIsDealerContributionDisabled] = useState(false);
|
|
50
49
|
const [
|
|
51
50
|
isManufacturerContributionDisabled,
|
|
52
51
|
setIsManufacturerContributionDisabled
|
|
53
52
|
] = useState(false);
|
|
53
|
+
const [ltvDiscountApplied, setLtvDiscountApplied] = useState(false);
|
|
54
54
|
const schema = z.object({
|
|
55
55
|
purchasePrice: z.string().min(1, { message: "Loan amount is required." }).transform((val) => {
|
|
56
56
|
return formatToNumber(val);
|
|
@@ -111,7 +111,6 @@ const BuyDownCalculator = ({
|
|
|
111
111
|
if (purchasePrice && downpayment) {
|
|
112
112
|
const financedAmount2 = purchasePrice - downpayment;
|
|
113
113
|
const range = getRange(financedAmount2);
|
|
114
|
-
const disableLTV = checkLTVStatus(downpayment, purchasePrice);
|
|
115
114
|
if (financedAmount2 < 0) {
|
|
116
115
|
ctx.addIssue({
|
|
117
116
|
code: z.ZodIssueCode.custom,
|
|
@@ -123,11 +122,6 @@ const BuyDownCalculator = ({
|
|
|
123
122
|
const loanRange2 = getRange(financedAmount2, program);
|
|
124
123
|
setLoanRange(loanRange2);
|
|
125
124
|
}
|
|
126
|
-
if (!disableLTV) {
|
|
127
|
-
setDisableLTVAbove60(false);
|
|
128
|
-
} else {
|
|
129
|
-
setDisableLTVAbove60(true);
|
|
130
|
-
}
|
|
131
125
|
}
|
|
132
126
|
if (updateFicoRequirements(range, program) === false) {
|
|
133
127
|
ctx.addIssue({
|
|
@@ -166,7 +160,6 @@ const BuyDownCalculator = ({
|
|
|
166
160
|
}
|
|
167
161
|
}, [watchedFields]);
|
|
168
162
|
const calculator_variant = getVariant(variant);
|
|
169
|
-
const enableDependentInputs = enableFullTimeCharter;
|
|
170
163
|
const formatToNumber = (value) => {
|
|
171
164
|
const cleanValue = value.replace(/[%$, ]/gi, "");
|
|
172
165
|
return parseFloat(cleanValue);
|
|
@@ -189,7 +182,7 @@ const BuyDownCalculator = ({
|
|
|
189
182
|
const percentage = downpayment / purchasePrice * 100;
|
|
190
183
|
const loanToValue2 = 100 - percentage;
|
|
191
184
|
if (loanToValue2 <= 60) return false;
|
|
192
|
-
|
|
185
|
+
return true;
|
|
193
186
|
};
|
|
194
187
|
const getRange = (financedAmount2, program, forRates) => {
|
|
195
188
|
let range = "";
|
|
@@ -358,23 +351,34 @@ const BuyDownCalculator = ({
|
|
|
358
351
|
}
|
|
359
352
|
return rate;
|
|
360
353
|
};
|
|
361
|
-
const calculateAdjustments = () => {
|
|
354
|
+
const calculateAdjustments = (purchasePrice, downpayment) => {
|
|
362
355
|
let total = 0;
|
|
363
356
|
const checkboxes = document.querySelectorAll(
|
|
364
|
-
'input[type="checkbox"]:checked
|
|
357
|
+
'input[type="checkbox"]:checked'
|
|
365
358
|
);
|
|
366
359
|
checkboxes.forEach((checkbox) => {
|
|
367
360
|
total += parseFloat(checkbox.value);
|
|
368
361
|
});
|
|
362
|
+
if (purchasePrice && downpayment && purchasePrice > 0 && downpayment >= 0) {
|
|
363
|
+
const ltvStatus = checkLTVStatus(downpayment, purchasePrice);
|
|
364
|
+
if (!ltvStatus) {
|
|
365
|
+
total += -0.35;
|
|
366
|
+
setLtvDiscountApplied(true);
|
|
367
|
+
} else {
|
|
368
|
+
setLtvDiscountApplied(false);
|
|
369
|
+
}
|
|
370
|
+
} else {
|
|
371
|
+
setLtvDiscountApplied(false);
|
|
372
|
+
}
|
|
369
373
|
return total;
|
|
370
374
|
};
|
|
371
|
-
const calculateRates = (program, fico, financedAmount2, buydownRate) => {
|
|
375
|
+
const calculateRates = (program, fico, financedAmount2, buydownRate, purchasePrice, downpayment) => {
|
|
372
376
|
const minRate = 6.94;
|
|
373
377
|
const loanRange2 = getRange(financedAmount2, program, true);
|
|
374
378
|
const startingRate = parseFloat(
|
|
375
379
|
getInterestRate(program, fico, loanRange2).replace(/[%,]/g, "")
|
|
376
380
|
);
|
|
377
|
-
const rateAdjustments = calculateAdjustments();
|
|
381
|
+
const rateAdjustments = calculateAdjustments(purchasePrice, downpayment);
|
|
378
382
|
const adjustedRate = startingRate + rateAdjustments;
|
|
379
383
|
const finalNoteRateValue = Math.max(minRate, adjustedRate);
|
|
380
384
|
const finalNoteRate2 = formatToPercentage(finalNoteRateValue);
|
|
@@ -469,13 +473,19 @@ const BuyDownCalculator = ({
|
|
|
469
473
|
setManuContributionPercentage(percentage);
|
|
470
474
|
return manufacturerContribution;
|
|
471
475
|
};
|
|
472
|
-
const calculateDealerContributionAmount = (dealerContribution, totalBuydownCost2) => {
|
|
473
|
-
|
|
476
|
+
const calculateDealerContributionAmount = (dealerContribution, manufacturerContributionAmount, totalBuydownCost2) => {
|
|
477
|
+
let dealerContributionValue;
|
|
478
|
+
if (dealerContribution > 0) {
|
|
479
|
+
dealerContributionValue = totalBuydownCost2 * (dealerContribution / 100);
|
|
480
|
+
} else {
|
|
481
|
+
dealerContributionValue = totalBuydownCost2 - manufacturerContributionAmount;
|
|
482
|
+
}
|
|
474
483
|
const formattedAmount = formatToCurrency(dealerContributionValue);
|
|
475
484
|
setDealerContributionAmount(formattedAmount);
|
|
476
485
|
};
|
|
477
486
|
const onSubmit = (data) => {
|
|
478
487
|
if (isValid) {
|
|
488
|
+
setLtvDiscountApplied(false);
|
|
479
489
|
const {
|
|
480
490
|
buydownRate,
|
|
481
491
|
buydownTerm,
|
|
@@ -495,7 +505,9 @@ const BuyDownCalculator = ({
|
|
|
495
505
|
program,
|
|
496
506
|
fico,
|
|
497
507
|
financedAmountValue,
|
|
498
|
-
buydownRate
|
|
508
|
+
buydownRate,
|
|
509
|
+
purchasePrice,
|
|
510
|
+
downpayment
|
|
499
511
|
);
|
|
500
512
|
const buydownPayment2 = calculateBuydownPayment(
|
|
501
513
|
buydownRate,
|
|
@@ -517,7 +529,11 @@ const BuyDownCalculator = ({
|
|
|
517
529
|
manufacturerContributionAmount,
|
|
518
530
|
totalBuydownCost2
|
|
519
531
|
);
|
|
520
|
-
calculateDealerContributionAmount(
|
|
532
|
+
calculateDealerContributionAmount(
|
|
533
|
+
dealerContribution,
|
|
534
|
+
manufacturerContributionAmount,
|
|
535
|
+
totalBuydownCost2
|
|
536
|
+
);
|
|
521
537
|
}
|
|
522
538
|
};
|
|
523
539
|
return /* @__PURE__ */ jsxs("section", { className: `${calc_container({ variant: calculator_variant })}`, children: [
|
|
@@ -689,7 +705,7 @@ const BuyDownCalculator = ({
|
|
|
689
705
|
required: true,
|
|
690
706
|
deps: ["program"]
|
|
691
707
|
}),
|
|
692
|
-
label: "Buydown Term
|
|
708
|
+
label: "Buydown Term",
|
|
693
709
|
sizes: "medium",
|
|
694
710
|
required: true,
|
|
695
711
|
error: !!errors.buydownTerm,
|
|
@@ -700,56 +716,57 @@ const BuyDownCalculator = ({
|
|
|
700
716
|
children: BuydownTerm.map((item) => /* @__PURE__ */ jsx("option", { value: item.value, children: item.text }, item.value))
|
|
701
717
|
}
|
|
702
718
|
) }) }),
|
|
703
|
-
/* @__PURE__ */ jsx("div", { className: `${row_form}`, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("label", { children: "Loan Level Rate Adjustments" }) }) }),
|
|
719
|
+
/* @__PURE__ */ jsx("div", { className: `${row_form}`, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("label", { children: "Loan Level Rate Adjustments. Rate Adjustments are subject to change, are limited, and restricted by floor rate." }) }) }),
|
|
704
720
|
/* @__PURE__ */ jsxs("div", { className: `${row_form}`, children: [
|
|
705
|
-
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("div", { className: row_form, children: /* @__PURE__ */ jsxs(
|
|
706
|
-
RadioButtonSet,
|
|
707
|
-
{
|
|
708
|
-
id: "dependentInputs",
|
|
709
|
-
label: "Limit One",
|
|
710
|
-
sizes: "medium",
|
|
711
|
-
variant,
|
|
712
|
-
direction: "column",
|
|
713
|
-
disabled: !enableDependentInputs,
|
|
714
|
-
className: limit_one,
|
|
715
|
-
children: [
|
|
716
|
-
/* @__PURE__ */ jsx(
|
|
717
|
-
RadioButton,
|
|
718
|
-
{
|
|
719
|
-
id: "mooringOutsideContinentalUS",
|
|
720
|
-
...register("mooringOutsideContinentalUS"),
|
|
721
|
-
value: 0.5,
|
|
722
|
-
radioText: "Mooring Outside Continental U.S. (Includes Puerto Rico,\n Hawaii, and Alaska) (Does not apply to Full Time Charter)\n +0.500",
|
|
723
|
-
groupName: "dependentInputs",
|
|
724
|
-
disabled: disableMooringOutside
|
|
725
|
-
}
|
|
726
|
-
),
|
|
727
|
-
/* @__PURE__ */ jsx(
|
|
728
|
-
RadioButton,
|
|
729
|
-
{
|
|
730
|
-
id: "operatingAccount",
|
|
731
|
-
...register("operatingAccount"),
|
|
732
|
-
value: -0.25,
|
|
733
|
-
radioText: "Open and fund an LLC Operating Account with Axos - 0.25",
|
|
734
|
-
groupName: "dependentInputs"
|
|
735
|
-
}
|
|
736
|
-
)
|
|
737
|
-
]
|
|
738
|
-
}
|
|
739
|
-
) }) }),
|
|
740
721
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
741
|
-
/* @__PURE__ */ jsx("div", {
|
|
722
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
723
|
+
Checkbox,
|
|
724
|
+
{
|
|
725
|
+
id: "mooringOutsideContinentalUS",
|
|
726
|
+
...register("mooringOutsideContinentalUS"),
|
|
727
|
+
sizes: "medium",
|
|
728
|
+
variant: calculator_variant,
|
|
729
|
+
value: 0.5,
|
|
730
|
+
disabled: !enableFullTimeCharter || disableMooringOutside,
|
|
731
|
+
children: "Mooring Outside Continental U.S. (Includes Puerto Rico, Hawaii, and Alaska) (Does not apply to Full Time Charter) +0.500"
|
|
732
|
+
}
|
|
733
|
+
) }),
|
|
734
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
735
|
+
Checkbox,
|
|
736
|
+
{
|
|
737
|
+
id: "operatingAccount",
|
|
738
|
+
...register("operatingAccount"),
|
|
739
|
+
sizes: "medium",
|
|
740
|
+
variant: calculator_variant,
|
|
741
|
+
value: -0.25,
|
|
742
|
+
disabled: !enableFullTimeCharter,
|
|
743
|
+
children: "Open and fund an LLC Operating Account with Axos - 0.25"
|
|
744
|
+
}
|
|
745
|
+
) }),
|
|
746
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
742
747
|
Checkbox,
|
|
743
748
|
{
|
|
744
|
-
id: "
|
|
745
|
-
...register("
|
|
749
|
+
id: "vesselOver15Years",
|
|
750
|
+
...register("vesselOver15Years"),
|
|
746
751
|
sizes: "medium",
|
|
747
|
-
variant,
|
|
748
|
-
value:
|
|
749
|
-
|
|
750
|
-
children: "LTV ≤ 60% (If not required by program) -0.350"
|
|
752
|
+
variant: calculator_variant,
|
|
753
|
+
value: 1.25,
|
|
754
|
+
children: "Vessel > 15 Years +1.250"
|
|
751
755
|
}
|
|
752
756
|
) }),
|
|
757
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
758
|
+
Checkbox,
|
|
759
|
+
{
|
|
760
|
+
id: "highPerformanceBoats",
|
|
761
|
+
...register("highPerformanceBoats"),
|
|
762
|
+
sizes: "medium",
|
|
763
|
+
variant: calculator_variant,
|
|
764
|
+
value: 0.5,
|
|
765
|
+
children: "High Performance Boats (>4 Engines) +0.500"
|
|
766
|
+
}
|
|
767
|
+
) })
|
|
768
|
+
] }),
|
|
769
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
753
770
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
754
771
|
Checkbox,
|
|
755
772
|
{
|
|
@@ -758,7 +775,29 @@ const BuyDownCalculator = ({
|
|
|
758
775
|
sizes: "medium",
|
|
759
776
|
variant: calculator_variant,
|
|
760
777
|
value: -0.125,
|
|
761
|
-
children: "
|
|
778
|
+
children: "Floor Plan Dealer Incentive -0.125"
|
|
779
|
+
}
|
|
780
|
+
) }),
|
|
781
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
782
|
+
Checkbox,
|
|
783
|
+
{
|
|
784
|
+
id: "retailCheckingAccount",
|
|
785
|
+
...register("retailCheckingAccount"),
|
|
786
|
+
sizes: "medium",
|
|
787
|
+
variant: calculator_variant,
|
|
788
|
+
value: -0.125,
|
|
789
|
+
children: "Retail Checking Account w/ACH and Minimum of 3 Months P&I Balance -0.125"
|
|
790
|
+
}
|
|
791
|
+
) }),
|
|
792
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
793
|
+
Checkbox,
|
|
794
|
+
{
|
|
795
|
+
id: "electricMotorHybrid",
|
|
796
|
+
...register("electricMotorHybrid"),
|
|
797
|
+
sizes: "medium",
|
|
798
|
+
variant: calculator_variant,
|
|
799
|
+
value: -0.25,
|
|
800
|
+
children: "100% Electric Motor / Hybrid -0.250"
|
|
762
801
|
}
|
|
763
802
|
) }),
|
|
764
803
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
@@ -853,7 +892,8 @@ const BuyDownCalculator = ({
|
|
|
853
892
|
label: "Final Note Rate",
|
|
854
893
|
disabled: true,
|
|
855
894
|
variant: calculator_variant,
|
|
856
|
-
value: finalNoteRate
|
|
895
|
+
value: finalNoteRate,
|
|
896
|
+
helperText: ltvDiscountApplied && "LTV discount applied"
|
|
857
897
|
}
|
|
858
898
|
) })
|
|
859
899
|
] }),
|
|
@@ -874,7 +914,7 @@ const BuyDownCalculator = ({
|
|
|
874
914
|
{
|
|
875
915
|
id: "buydownPayment",
|
|
876
916
|
sizes: "medium",
|
|
877
|
-
label: "
|
|
917
|
+
label: "Monthly payment WITH buydown",
|
|
878
918
|
disabled: true,
|
|
879
919
|
variant: calculator_variant,
|
|
880
920
|
value: buydownPayment
|
|
@@ -887,7 +927,7 @@ const BuyDownCalculator = ({
|
|
|
887
927
|
{
|
|
888
928
|
id: "nonBuydownPayment",
|
|
889
929
|
sizes: "medium",
|
|
890
|
-
label: "
|
|
930
|
+
label: "Monthly Payment WITHOUT buydown",
|
|
891
931
|
disabled: true,
|
|
892
932
|
variant: calculator_variant,
|
|
893
933
|
value: nonBuydownPayment
|
|
@@ -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;
|
|
@@ -11,5 +12,7 @@ export interface CalculatorProps {
|
|
|
11
12
|
bodyCopy?: React.ReactNode;
|
|
12
13
|
disclosure?: React.ReactNode;
|
|
13
14
|
marketingTiles?: IconBillboardProps[];
|
|
15
|
+
initialBalance?: number;
|
|
16
|
+
callToActionRow?: ChevronProps[];
|
|
14
17
|
}
|
|
15
18
|
export declare const Calculator: (props: CalculatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -7,20 +7,20 @@ import "../icons/ArrowIcon/ArrowIcon.css.js";
|
|
|
7
7
|
import SvgAxosX from "../icons/AxosX/index.js";
|
|
8
8
|
import SvgComponent from "../icons/AxosX/Blue.js";
|
|
9
9
|
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
10
|
-
import '../assets/Forms/QuickPricer/UserInformation.css';import '../assets/Forms/QuickPricer/QuickPricerResults.css';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/
|
|
10
|
+
import '../assets/Forms/QuickPricer/UserInformation.css';import '../assets/Forms/QuickPricer/QuickPricerResults.css';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/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/Chatbot/ChatWindow.css';import '../assets/Chatbot/Bubble.css';import '../assets/CallToActionBar/CallToActionBar.css';import '../assets/Insight/Insight.css';import '../assets/AwardsItem/AwardsItem.css';import '../assets/AwardsBanner/AwardsBanner.css';import '../assets/Auth/SignIn.css';import '../assets/Auth/ErrorAlert.css';import '../assets/Modal/Modal.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 */
|
|
11
11
|
/* empty css */
|
|
12
12
|
/* empty css */
|
|
13
13
|
/* empty css */
|
|
14
14
|
/* empty css */
|
|
15
15
|
import "../utils/allowedAxosDomains.js";
|
|
16
16
|
import { getVariant } from "../utils/getVariant.js";
|
|
17
|
+
import { useRef, useEffect } from "react";
|
|
17
18
|
import clsx from "clsx";
|
|
18
19
|
/* empty css */
|
|
19
20
|
/* empty css */
|
|
20
21
|
import "../Accordion/Accordion.js";
|
|
21
22
|
import "../Accordion/Accordion.css.js";
|
|
22
23
|
import "../AlertBanner/AlertBanner.css.js";
|
|
23
|
-
import { useRef, useEffect } from "react";
|
|
24
24
|
import "../Article/Article.css.js";
|
|
25
25
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
26
26
|
import "../Chevron/Chevron.css.js";
|
|
@@ -46,8 +46,16 @@ import { MaxLoanCalculator } from "./MaxLoanCalculator/index.js";
|
|
|
46
46
|
import { MonthlyPaymentCalculator } from "./MonthlyPaymentCalculator/index.js";
|
|
47
47
|
import { MonthlyPaymentLVFCalculator } from "./MonthlyPaymentLVFCalculator/index.js";
|
|
48
48
|
import { SummitApyCalculator } from "./SummitApyCalculator/index.js";
|
|
49
|
+
/* empty css */
|
|
49
50
|
/* empty css */
|
|
50
51
|
import "../Carousel/index.js";
|
|
52
|
+
/* empty css */
|
|
53
|
+
import "../Chatbot/store/chat.js";
|
|
54
|
+
import "../Chatbot/authenticate.js";
|
|
55
|
+
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
56
|
+
import "react-use";
|
|
57
|
+
/* empty css */
|
|
58
|
+
import "../Chatbot/store/messages.js";
|
|
51
59
|
/* empty css */
|
|
52
60
|
import "../Comparison/Comparison.css.js";
|
|
53
61
|
import "next/image.js";
|
|
@@ -67,7 +75,6 @@ import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
|
67
75
|
/* empty css */
|
|
68
76
|
import "../ImageBillboard/ImageBillboard.css.js";
|
|
69
77
|
import "next/script.js";
|
|
70
|
-
import "react-use";
|
|
71
78
|
/* empty css */
|
|
72
79
|
/* empty css */
|
|
73
80
|
import "../Input/Checkbox.js";
|
|
@@ -84,7 +91,6 @@ import "../Input/RadioButton.js";
|
|
|
84
91
|
/* empty css */
|
|
85
92
|
/* empty css */
|
|
86
93
|
/* empty css */
|
|
87
|
-
/* empty css */
|
|
88
94
|
import "../LandingPageHeader/LandingPageHeader.css.js";
|
|
89
95
|
import "../LoadingIndicator/LoadingIndicator.css.js";
|
|
90
96
|
/* empty css */
|
|
@@ -136,7 +142,9 @@ const Calculator = (props) => {
|
|
|
136
142
|
disclosure,
|
|
137
143
|
headline,
|
|
138
144
|
name,
|
|
139
|
-
marketingTiles
|
|
145
|
+
marketingTiles,
|
|
146
|
+
initialBalance,
|
|
147
|
+
callToActionRow
|
|
140
148
|
} = props;
|
|
141
149
|
const ref = useRef(null);
|
|
142
150
|
const iframe = calculators.get(name || "");
|
|
@@ -227,7 +235,9 @@ const Calculator = (props) => {
|
|
|
227
235
|
bodyCopy,
|
|
228
236
|
variant,
|
|
229
237
|
disclosure,
|
|
230
|
-
icon
|
|
238
|
+
icon,
|
|
239
|
+
initialBalance,
|
|
240
|
+
callToActionRow
|
|
231
241
|
}
|
|
232
242
|
);
|
|
233
243
|
} else if (name === "APY Balance Summit Savings") {
|
|
@@ -4,8 +4,8 @@ import { button } from "../../Button/Button.css.js";
|
|
|
4
4
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
5
5
|
import "../../utils/allowedAxosDomains.js";
|
|
6
6
|
import { getVariant } from "../../utils/getVariant.js";
|
|
7
|
-
import clsx from "clsx";
|
|
8
7
|
import { useState } from "react";
|
|
8
|
+
import clsx from "clsx";
|
|
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, hide_select_arrow, calculation_header, payment_results } from "../MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.js";
|
|
@@ -5,8 +5,8 @@ import { calc_container, container, h2i, inputs_container, input_container, inpu
|
|
|
5
5
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
6
6
|
import "../../utils/allowedAxosDomains.js";
|
|
7
7
|
import { getVariant } from "../../utils/getVariant.js";
|
|
8
|
-
import clsx from "clsx";
|
|
9
8
|
import { useState } from "react";
|
|
9
|
+
import clsx from "clsx";
|
|
10
10
|
import { calculator } from "../calculator.css.js";
|
|
11
11
|
const MaxLoanCalculator = ({
|
|
12
12
|
variant,
|
|
@@ -4,8 +4,8 @@ import { button } from "../../Button/Button.css.js";
|
|
|
4
4
|
import { title } from "../../IconBillboard/IconBillboard.css.js";
|
|
5
5
|
import "../../utils/allowedAxosDomains.js";
|
|
6
6
|
import { getVariant } from "../../utils/getVariant.js";
|
|
7
|
-
import clsx from "clsx";
|
|
8
7
|
import { useState } from "react";
|
|
8
|
+
import clsx from "clsx";
|
|
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";
|
|
@@ -27,15 +27,24 @@ const SummitApyCalculator = ({
|
|
|
27
27
|
variant
|
|
28
28
|
}) => {
|
|
29
29
|
const calc_variant = getVariant(variant);
|
|
30
|
+
const SUMMIT_APY = +process.env.NEXT_PUBLIC_SUMMIT_SAVINGS_APY;
|
|
30
31
|
const [balance, setBalance] = useState(1e4);
|
|
31
|
-
const [axbAPY, _setAxbAPY] = useState(
|
|
32
|
-
const [axbEarning, setAxbEarning] = useState(
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const [axbAPY, _setAxbAPY] = useState(SUMMIT_APY);
|
|
33
|
+
const [axbEarning, setAxbEarning] = useState(
|
|
34
|
+
SUMMIT_APY / 100 * balance
|
|
35
|
+
);
|
|
36
|
+
const [capitalOneAPY, _setcapitalOneAPY] = useState(3.4);
|
|
37
|
+
const [capitalOneEarning, setcapitalOneEarning] = useState(
|
|
38
|
+
capitalOneAPY / 100 * balance
|
|
39
|
+
);
|
|
35
40
|
const [bofaAPY, _setBofaAPY] = useState(0.04);
|
|
36
|
-
const [bofaEarning, setBofaEarning] = useState(
|
|
41
|
+
const [bofaEarning, setBofaEarning] = useState(
|
|
42
|
+
bofaAPY / 100 * balance
|
|
43
|
+
);
|
|
37
44
|
const [chaseAPY, _setchaseAPY] = useState(0.01);
|
|
38
|
-
const [chaseEarning, setchaseEarning] = useState(
|
|
45
|
+
const [chaseEarning, setchaseEarning] = useState(
|
|
46
|
+
chaseAPY / 100 * balance
|
|
47
|
+
);
|
|
39
48
|
const removeNonNumeric = (value) => {
|
|
40
49
|
if (value === "") {
|
|
41
50
|
value = "0";
|
|
@@ -22,16 +22,10 @@ export declare const calculator_description: import('@vanilla-extract/recipes').
|
|
|
22
22
|
export declare const calculator_headline: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
23
23
|
variant: {
|
|
24
24
|
primary: {
|
|
25
|
-
|
|
26
|
-
backgroundClip: "text";
|
|
27
|
-
WebkitTextFillColor: "transparent";
|
|
28
|
-
textShadow: "0px 0px #00000000";
|
|
25
|
+
color: `var(--${string})`;
|
|
29
26
|
};
|
|
30
27
|
secondary: {
|
|
31
|
-
|
|
32
|
-
backgroundClip: "text";
|
|
33
|
-
WebkitTextFillColor: "transparent";
|
|
34
|
-
textShadow: "0px 0px #00000000";
|
|
28
|
+
color: `var(--${string})`;
|
|
35
29
|
};
|
|
36
30
|
tertiary: {
|
|
37
31
|
color: `var(--${string})`;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare const cta: string;
|
|
2
|
+
export declare const cta_h2: string;
|
|
3
|
+
export declare const is_sticky: string;
|
|
4
|
+
export declare const cta_containment: string;
|
|
2
5
|
export declare const cta_image_section: string;
|
|
3
6
|
export declare const cta_image_section_overlap: string;
|
|
4
7
|
export declare const cta_section_lg: string;
|
|
@@ -10,7 +13,6 @@ export declare const cta_section: string;
|
|
|
10
13
|
export declare const cta_image_overlap: string;
|
|
11
14
|
export declare const cta_body_section: string;
|
|
12
15
|
export declare const sticky_banner: string;
|
|
13
|
-
export declare const is_sticky: string;
|
|
14
16
|
export declare const ctas_section: string;
|
|
15
17
|
export declare const cta_text: string;
|
|
16
18
|
export declare const cta_large_image: string;
|
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
import '../assets/CallToActionBar/CallToActionBar.css';import '../assets/themes/victorie.css';import '../assets/themes/premier.css';import '../assets/themes/axos.css';/* empty css */
|
|
1
|
+
import '../assets/CallToActionBar/CallToActionBar.css';import '../assets/Insight/Insight.css';import '../assets/Typography/Typography.css';import '../assets/themes/victorie.css';import '../assets/themes/premier.css';import '../assets/themes/axos.css';/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
/* empty css */
|
|
4
6
|
/* empty css */
|
|
5
7
|
var cta = "_1tdyl740";
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
8
|
+
var cta_h2 = "_1tdyl741";
|
|
9
|
+
var is_sticky = "_1tdyl742";
|
|
10
|
+
var cta_containment = "_1tdyl743";
|
|
11
|
+
var cta_image_section = "_1tdyl744";
|
|
12
|
+
var cta_image_section_overlap = "_1tdyl745";
|
|
13
|
+
var cta_section_lg = "_1tdyl746";
|
|
14
|
+
var cta_section_lg_overlap = "_1tdyl747";
|
|
15
|
+
var cta_section_md = "_1tdyl748";
|
|
16
|
+
var cta_section_md_overlap = "_1tdyl749";
|
|
17
|
+
var cta_section_sm = "_1tdyl74a";
|
|
18
|
+
var cta_section = "_1tdyl74b";
|
|
19
|
+
var cta_image_overlap = "_1tdyl74c";
|
|
20
|
+
var cta_body_section = "_1tdyl74d";
|
|
21
|
+
var sticky_banner = "_1tdyl74e";
|
|
22
|
+
var ctas_section = "_1tdyl74f";
|
|
23
|
+
var cta_text = "_1tdyl74g";
|
|
24
|
+
var cta_large_image = "_1tdyl74h";
|
|
21
25
|
export {
|
|
22
26
|
cta,
|
|
23
27
|
cta_body_section,
|
|
28
|
+
cta_containment,
|
|
29
|
+
cta_h2,
|
|
24
30
|
cta_image_overlap,
|
|
25
31
|
cta_image_section,
|
|
26
32
|
cta_image_section_overlap,
|
|
@@ -8,7 +8,7 @@ import { Chevron } from "../Chevron/index.js";
|
|
|
8
8
|
import { getVariant } from "../utils/getVariant.js";
|
|
9
9
|
import clsx from "clsx";
|
|
10
10
|
import { getBannerSizeClassName } from "../utils/ctaOptions.js";
|
|
11
|
-
import { sticky_banner, is_sticky, cta, cta_image_section, cta_image_section_overlap, cta_image_overlap, cta_large_image, cta_text, ctas_section, cta_body_section } from "./CallToActionBar.css.js";
|
|
11
|
+
import { sticky_banner, is_sticky, cta, cta_image_section, cta_image_section_overlap, cta_image_overlap, cta_large_image, cta_h2, cta_text, ctas_section, cta_body_section, cta_containment } from "./CallToActionBar.css.js";
|
|
12
12
|
const CallToActionBar = ({
|
|
13
13
|
bannerSize,
|
|
14
14
|
image,
|
|
@@ -67,6 +67,7 @@ const CallToActionBar = ({
|
|
|
67
67
|
"containment",
|
|
68
68
|
"flex",
|
|
69
69
|
"middle",
|
|
70
|
+
cta_containment,
|
|
70
71
|
row_reverse && image ? "reversed" : ""
|
|
71
72
|
),
|
|
72
73
|
style: { justifyContent: "center" },
|
|
@@ -106,8 +107,8 @@ const CallToActionBar = ({
|
|
|
106
107
|
(imageMobileView || !image) && "text_center"
|
|
107
108
|
),
|
|
108
109
|
children: [
|
|
109
|
-
headline && /* @__PURE__ */ jsx("h2", { className: "header_3", children: headline }),
|
|
110
|
-
banner_size === "large" && bodyCopy && /* @__PURE__ */ jsx(Fragment, { children: bodyCopy })
|
|
110
|
+
headline && /* @__PURE__ */ jsx("h2", { className: clsx(cta_h2, "header_3"), children: headline }),
|
|
111
|
+
banner_size === "large" && bodyCopy && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { children: bodyCopy }) })
|
|
111
112
|
]
|
|
112
113
|
}
|
|
113
114
|
),
|