@axos-web-dev/shared-components 1.0.8 → 1.0.9-9.dev.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 +42 -32
- package/dist/Accordion/Accordion.css.d.ts +1 -1
- package/dist/Article/Article.css.d.ts +41 -41
- package/dist/Article/Article.js +3 -13
- package/dist/ArticlesSet/ArticlesSet.css.d.ts +16 -16
- package/dist/Auth/ErrorAlert.css.d.ts +4 -0
- package/dist/Auth/ErrorAlert.css.js +11 -0
- package/dist/Auth/ErrorAlert.d.ts +14 -0
- package/dist/Auth/ErrorAlert.js +184 -0
- package/dist/Auth/Logout.d.ts +3 -0
- package/dist/Auth/Logout.js +29 -0
- package/dist/Auth/SignIn.css.d.ts +6 -0
- package/dist/Auth/SignIn.css.js +18 -0
- package/dist/Auth/SignInPassword.d.ts +15 -0
- package/dist/Auth/SignInPassword.js +118 -0
- package/dist/Auth/index.d.ts +5 -0
- package/dist/Auth/index.js +20 -0
- package/dist/Button/Button.css.d.ts +31 -18
- package/dist/Button/Button.css.js +1 -1
- package/dist/Button/Button.js +14 -4
- package/dist/Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.d.ts +12 -12
- package/dist/Calculators/ApyCalculator/ApyCalculator.css.d.ts +14 -14
- package/dist/Calculators/ApyCalculator/index.js +20 -12
- package/dist/Calculators/AxosOneCalculator/BalanceAPYCalculator.css.d.ts +8 -8
- package/dist/Calculators/AxosOneCalculator/index.js +18 -10
- package/dist/Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.d.ts +22 -22
- package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.d.ts +101 -0
- package/dist/Calculators/BuyDownCalculator/BuyDownCalculator.css.js +56 -0
- package/dist/Calculators/BuyDownCalculator/index.d.ts +25 -0
- package/dist/Calculators/BuyDownCalculator/index.js +855 -0
- package/dist/Calculators/Calculator.js +29 -10
- package/dist/Calculators/MonthlyPaymentCalculator/MonthlyPaymentCalculator.css.d.ts +12 -12
- package/dist/Calculators/MonthlyPaymentLVFCalculator/MonthlyPaymentCalculator.css.d.ts +12 -12
- package/dist/Calculators/SummitApyCalculator/BalanceAPYCalculator.css.d.ts +8 -8
- package/dist/Calculators/calculator.css.d.ts +12 -12
- package/dist/Calculators/index.d.ts +1 -0
- package/dist/Calculators/index.js +2 -0
- package/dist/CallToActionBar/index.js +3 -1
- package/dist/Carousel/Carousel.css.d.ts +20 -20
- package/dist/Carousel/index.js +23 -13
- package/dist/Chevron/Chevron.css.d.ts +6 -6
- package/dist/Chevron/index.js +14 -4
- package/dist/Comparison/Comparison.css.d.ts +11 -10
- package/dist/Comparison/Comparison.css.js +3 -1
- package/dist/Comparison/Comparison.js +23 -13
- package/dist/Comparison/index.js +2 -1
- package/dist/ContentBanner/ContentBanner.css.d.ts +12 -12
- package/dist/ExecutiveBio/ExecutiveBio.css.d.ts +31 -31
- package/dist/ExecutiveBio/ExecutiveBio.js +16 -22
- package/dist/FaqAccordion/index.js +16 -6
- package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +14 -4
- package/dist/Forms/ApplicationStart.js +21 -4
- package/dist/Forms/ApplyNow.js +14 -4
- package/dist/Forms/ClearingForm.js +19 -2
- package/dist/Forms/CommercialDeposits.js +19 -2
- package/dist/Forms/CommercialLending.js +20 -3
- package/dist/Forms/CommercialPremiumFinance.d.ts +10 -0
- package/dist/Forms/CommercialPremiumFinance.js +212 -0
- package/dist/Forms/ContactCompany.js +20 -3
- package/dist/Forms/ContactCompanyTitle.js +20 -3
- package/dist/Forms/ContactUs.d.ts +1 -1
- package/dist/Forms/ContactUs.js +107 -79
- package/dist/Forms/ContactUsAAS.js +20 -5
- package/dist/Forms/ContactUsBusiness.d.ts +2 -2
- package/dist/Forms/ContactUsBusiness.js +45 -19
- package/dist/Forms/ContactUsBusinessNameEmail.d.ts +9 -0
- package/dist/Forms/ContactUsBusinessNameEmail.js +282 -0
- package/dist/Forms/ContactUsLVF.js +20 -3
- package/dist/Forms/ContactUsNMLSId.js +35 -9
- package/dist/Forms/CpraRequest.d.ts +1 -1
- package/dist/Forms/CpraRequest.js +75 -63
- package/dist/Forms/CraPublicFile.d.ts +5 -5
- package/dist/Forms/CraPublicFile.js +69 -45
- package/dist/Forms/DealerServices.js +20 -4
- package/dist/Forms/EmailOnly.js +45 -28
- package/dist/Forms/EmailUs.js +12 -2
- package/dist/Forms/FormEnums.d.ts +21 -0
- package/dist/Forms/FormEnums.js +308 -0
- package/dist/Forms/FormProps.d.ts +3 -0
- package/dist/Forms/Forms.css.d.ts +42 -42
- package/dist/Forms/HoneyPot/HoneyPot.css.d.ts +1 -0
- package/dist/Forms/HoneyPot/HoneyPot.css.js +5 -0
- package/dist/Forms/HoneyPot/index.d.ts +24 -0
- package/dist/Forms/HoneyPot/index.js +71 -0
- package/dist/Forms/MortgageRate/MortgageRateForm.js +17 -7
- package/dist/Forms/MortgageRate/MortgageRateWatch.js +16 -6
- package/dist/Forms/QuickPricer/QuickPricerForm.js +19 -20
- package/dist/Forms/ScheduleCall.js +20 -3
- package/dist/Forms/ScheduleCallPremier.js +20 -3
- package/dist/Forms/SuccesForm.js +31 -21
- package/dist/Forms/VendorQuestionnaire.js +12 -2
- package/dist/Forms/WcplSurvey.js +20 -3
- package/dist/Forms/index.d.ts +3 -0
- package/dist/Forms/index.js +8 -0
- package/dist/HelpArticle/HelpArticle.css.d.ts +4 -0
- package/dist/HelpArticle/HelpArticle.css.js +12 -0
- package/dist/HelpArticle/index.d.ts +1 -0
- package/dist/HelpArticle/index.js +7 -0
- package/dist/HeroBanner/HeroBanner.css.d.ts +19 -17
- package/dist/HeroBanner/HeroBanner.css.js +9 -5
- package/dist/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/HeroBanner/HeroBanner.interface.d.ts +3 -0
- package/dist/HeroBanner/HeroBanner.js +47 -1
- package/dist/HeroBanner/LargeBanner.css.d.ts +20 -20
- package/dist/HeroBanner/SelectionBanner.css.d.ts +8 -8
- package/dist/HeroBanner/index.js +3 -1
- package/dist/Hyperlink/index.js +17 -7
- package/dist/IconBillboard/IconBillboard.css.d.ts +26 -25
- package/dist/IconBillboard/IconBillboard.css.js +5 -3
- package/dist/IconBillboard/IconBillboard.d.ts +1 -2
- package/dist/IconBillboard/IconBillboard.interface.d.ts +1 -0
- package/dist/IconBillboard/IconBillboard.js +46 -80
- package/dist/IconBillboard/IconBillboardSet.js +1 -1
- package/dist/IconBillboard/index.js +3 -3
- package/dist/IconBillboard/sections/CallToActionSection.d.ts +12 -0
- package/dist/IconBillboard/sections/CallToActionSection.js +101 -0
- package/dist/IconBillboard/sections/HeaderSection.d.ts +11 -0
- package/dist/IconBillboard/sections/HeaderSection.js +23 -0
- package/dist/IconBillboard/sections/IconSection.d.ts +7 -0
- package/dist/IconBillboard/sections/IconSection.js +18 -0
- package/dist/IconBillboard/sections/ItemsSection.d.ts +11 -0
- package/dist/IconBillboard/sections/ItemsSection.js +11 -0
- package/dist/IconBillboard/sections/LayoutSection.d.ts +8 -0
- package/dist/IconBillboard/sections/LayoutSection.js +6 -0
- package/dist/ImageBillboard/ExitIntentModal/ModalWrapper.d.ts +9 -0
- package/dist/ImageBillboard/ExitIntentModal/ModalWrapper.js +85 -0
- package/dist/ImageBillboard/ExitIntentModal/useExitIntentModal.d.ts +5 -0
- package/dist/ImageBillboard/ExitIntentModal/useExitIntentModal.js +90 -0
- package/dist/ImageBillboard/ImageBillboard.css.d.ts +36 -20
- package/dist/ImageBillboard/ImageBillboard.css.js +50 -18
- package/dist/ImageBillboard/ImageBillboard.interface.d.ts +20 -2
- package/dist/ImageBillboard/ImageBillboardSet.d.ts +1 -1
- package/dist/ImageBillboard/ImageBillboardSet.js +104 -28
- package/dist/ImageBillboard/index.js +17 -1
- package/dist/ImageLink/ImageLink.d.ts +2 -2
- package/dist/ImageLink/ImageLink.js +17 -13
- package/dist/ImageLink/ImageLinkSet.js +20 -10
- package/dist/ImageLink/index.js +17 -7
- package/dist/Input/Checkbox.js +2 -1
- package/dist/Input/Input.css.d.ts +16 -16
- package/dist/Input/Input.js +4 -1
- package/dist/Input/PercentageInput.d.ts +3 -0
- package/dist/Input/PercentageInput.js +32 -0
- package/dist/Input/RadioButton.js +12 -3
- package/dist/Inputs/Input.css.d.ts +14 -14
- package/dist/Insight/Featured/CategorySelector.js +28 -20
- package/dist/Insight/Featured/Featured.js +75 -58
- package/dist/Insight/Featured/Header.js +22 -12
- package/dist/Interstitial/Interstitial-variants.css.d.ts +2 -2
- package/dist/LandingPageHeader/LandingPageHeader.css.d.ts +3 -3
- package/dist/Modal/Modal.js +15 -5
- package/dist/NavigationMenu/AxosALTS/NavData.js +14 -4
- package/dist/NavigationMenu/AxosALTS/index.js +14 -4
- package/dist/NavigationMenu/AxosAdvisor/SubNavBar.js +3 -10
- package/dist/NavigationMenu/AxosAdvisor/index.js +3 -11
- package/dist/NavigationMenu/AxosAdvisorServices/NavData.js +0 -5
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.d.ts +2 -0
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.js +345 -0
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +53 -0
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.d.ts +272 -0
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +664 -0
- package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -81
- package/dist/NavigationMenu/AxosBank/NavData.js +14 -4
- package/dist/NavigationMenu/AxosBank/SubNavBar.js +432 -108
- package/dist/NavigationMenu/AxosBank/index.d.ts +2 -1
- package/dist/NavigationMenu/AxosBank/index.js +104 -533
- package/dist/NavigationMenu/LaVictoire/NavData.js +14 -4
- package/dist/NavigationMenu/LaVictoire/index.js +40 -20
- package/dist/NavigationMenu/NavDataJson.d.ts +2 -0
- package/dist/NavigationMenu/NavDataJson.js +309 -0
- package/dist/NavigationMenu/Navbar.d.ts +5 -0
- package/dist/NavigationMenu/Navbar.js +195 -0
- package/dist/NavigationMenu/SignInNavButton.d.ts +1 -0
- package/dist/NavigationMenu/SignInNavButton.js +363 -0
- package/dist/PageNavItem/PageNavItem.css.d.ts +2 -2
- package/dist/SetContainer/SetContainer.css.d.ts +17 -18
- package/dist/SetContainer/SetContainer.css.js +2 -4
- package/dist/SetContainer/SetContainer.d.ts +2 -1
- package/dist/SetContainer/SetContainer.js +27 -13
- package/dist/SetContainer/index.js +1 -2
- package/dist/SocialMediaBar/iconsRepository.js +14 -4
- package/dist/StepItem/StepItem.css.d.ts +18 -18
- package/dist/StepItemSet/StepItemSet.css.d.ts +14 -14
- package/dist/StepItemSet/StepItemSet.js +2 -6
- package/dist/Tab/Tab.css.d.ts +12 -12
- package/dist/Table/Table.css.d.ts +25 -25
- package/dist/Table/Table.d.ts +3 -3
- package/dist/Topic/Topic.css.d.ts +4 -0
- package/dist/Topic/Topic.css.js +12 -0
- package/dist/Topic/Topic.d.ts +19 -0
- package/dist/Topic/Topic.js +24 -0
- package/dist/Topic/index.d.ts +2 -0
- package/dist/Topic/index.js +12 -0
- package/dist/VideoTile/VideoTile.interface.d.ts +4 -3
- package/dist/VideoTile/VideoTile.js +183 -28
- package/dist/VideoWrapper/index.js +15 -5
- package/dist/WalnutIframe/index.d.ts +6 -0
- package/dist/WalnutIframe/index.js +21 -0
- package/dist/WalnutIframe/wrapper.module.js +14 -0
- package/dist/assets/Auth/ErrorAlert.css +37 -0
- package/dist/assets/Auth/SignIn.css +86 -0
- package/dist/assets/Button/Button.css +31 -16
- package/dist/assets/Calculators/AxosOneCalculator/BalanceAPYCalculator.css +5 -0
- package/dist/assets/Calculators/BuyDownCalculator/BuyDownCalculator.css +197 -0
- package/dist/assets/Calculators/SummitApyCalculator/BalanceAPYCalculator.css +8 -0
- package/dist/assets/CallToActionBar/CallToActionBar.css +4 -0
- package/dist/assets/Comparison/Comparison.css +9 -2
- package/dist/assets/Forms/HoneyPot/HoneyPot.css +4 -0
- package/dist/assets/HelpArticle/HelpArticle.css +70 -0
- package/dist/assets/HeroBanner/HeroBanner.css +38 -26
- package/dist/assets/HeroBanner/LargeBanner.css +3 -0
- package/dist/assets/IconBillboard/IconBillboard.css +43 -36
- package/dist/assets/ImageBillboard/ImageBillboard.css +336 -36
- package/dist/assets/Insight/Insight.css +12 -0
- package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +191 -0
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css +6 -0
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +473 -661
- package/dist/assets/SetContainer/SetContainer.css +44 -22
- package/dist/assets/Topic/Topic.css +54 -0
- package/dist/assets/WalnutIframe/wrapper.css.css +49 -0
- package/dist/assets/globals.css +13 -30
- package/dist/assets/utils/optimizeImage/optimizeImage.css.css +47 -0
- package/dist/icons/ArrowIcon/ArrowIcon.css.d.ts +3 -3
- package/dist/icons/CheckIcon/CheckIcon.css.d.ts +2 -2
- package/dist/icons/Logos/AXB.d.ts +8 -0
- package/dist/icons/Logos/AXB.js +74 -0
- package/dist/main.d.ts +5 -0
- package/dist/main.js +69 -8
- package/dist/themes/axos.css.d.ts +38 -38
- package/dist/utils/allowedAxosDomains.js +19 -3
- package/dist/utils/appendQueryParams.js +3 -6
- package/dist/utils/{lazyImage/lazyImage.d.ts → optimizeImage/OptimizeImage.d.ts} +3 -2
- package/dist/utils/optimizeImage/OptimizeImage.js +46 -0
- package/dist/utils/optimizeImage/index.d.ts +1 -0
- package/dist/utils/optimizeImage/index.js +4 -0
- package/dist/utils/optimizeImage/optimizeImage.module.js +14 -0
- package/package.json +11 -8
- package/dist/utils/lazyImage/imageObserver.d.ts +0 -9
- package/dist/utils/lazyImage/imageObserver.js +0 -29
- package/dist/utils/lazyImage/index.d.ts +0 -2
- package/dist/utils/lazyImage/index.js +0 -7
- package/dist/utils/lazyImage/lazyImage.js +0 -26
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useRef, useEffect } from "react";
|
|
4
|
+
import { exit_intent_backdrop, exit_intent, modal_close_button } from "../ImageBillboard.css.js";
|
|
5
|
+
const ModalWrapper = ({
|
|
6
|
+
children,
|
|
7
|
+
onClose,
|
|
8
|
+
modalRef
|
|
9
|
+
}) => {
|
|
10
|
+
const wrapperRef = useRef(null);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const originalOverflow = document.body.style.overflow;
|
|
13
|
+
document.body.style.overflow = "hidden";
|
|
14
|
+
return () => {
|
|
15
|
+
document.body.style.overflow = originalOverflow;
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
const focusableSelectors = [
|
|
20
|
+
"a[href]",
|
|
21
|
+
"button:not([disabled])",
|
|
22
|
+
'[tabindex]:not([tabindex="-1"])'
|
|
23
|
+
];
|
|
24
|
+
const trapFocus = (e) => {
|
|
25
|
+
if (e.key !== "Tab") return;
|
|
26
|
+
const focusableEls = modalRef.current?.querySelectorAll(
|
|
27
|
+
focusableSelectors.join(",")
|
|
28
|
+
);
|
|
29
|
+
if (!focusableEls || focusableEls.length === 0) return;
|
|
30
|
+
const first = focusableEls[0];
|
|
31
|
+
const last = focusableEls[focusableEls.length - 1];
|
|
32
|
+
if (e.shiftKey && document.activeElement === first) {
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
last.focus();
|
|
35
|
+
} else if (!e.shiftKey && document.activeElement === last) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
first.focus();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const focusFirst = () => {
|
|
41
|
+
const focusableEls = modalRef.current?.querySelectorAll(
|
|
42
|
+
focusableSelectors.join(",")
|
|
43
|
+
);
|
|
44
|
+
focusableEls?.[0]?.focus();
|
|
45
|
+
};
|
|
46
|
+
focusFirst();
|
|
47
|
+
document.addEventListener("keydown", trapFocus);
|
|
48
|
+
document.addEventListener("keydown", handleEscape);
|
|
49
|
+
return () => {
|
|
50
|
+
document.removeEventListener("keydown", trapFocus);
|
|
51
|
+
document.removeEventListener("keydown", handleEscape);
|
|
52
|
+
};
|
|
53
|
+
}, [modalRef]);
|
|
54
|
+
const handleEscape = (e) => {
|
|
55
|
+
if (e.key === "Escape") {
|
|
56
|
+
onClose();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return /* @__PURE__ */ jsx("div", { className: exit_intent_backdrop, role: "presentation", children: /* @__PURE__ */ jsx(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
className: exit_intent,
|
|
63
|
+
ref: modalRef,
|
|
64
|
+
role: "dialog",
|
|
65
|
+
"aria-modal": "true",
|
|
66
|
+
"aria-labelledby": "exit-intent-heading",
|
|
67
|
+
"aria-describedby": "exit-intent-description",
|
|
68
|
+
children: /* @__PURE__ */ jsxs("div", { ref: wrapperRef, className: "relative", children: [
|
|
69
|
+
/* @__PURE__ */ jsx(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
"aria-label": "Close modal",
|
|
73
|
+
className: modal_close_button,
|
|
74
|
+
onClick: onClose,
|
|
75
|
+
children: "X"
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
children
|
|
79
|
+
] })
|
|
80
|
+
}
|
|
81
|
+
) });
|
|
82
|
+
};
|
|
83
|
+
export {
|
|
84
|
+
ModalWrapper
|
|
85
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState, useRef, useEffect } from "react";
|
|
3
|
+
const useExitIntentModal = (enabled) => {
|
|
4
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
5
|
+
const modalRef = useRef(null);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (!enabled) return;
|
|
8
|
+
const STORAGE_KEY = "exitIntentShown";
|
|
9
|
+
const sessionExpiry = 24 * 60 * 60 * 1e3;
|
|
10
|
+
const hasShown = () => {
|
|
11
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
12
|
+
if (!stored) return false;
|
|
13
|
+
const { timestamp } = JSON.parse(stored);
|
|
14
|
+
return Date.now() - timestamp < sessionExpiry;
|
|
15
|
+
};
|
|
16
|
+
const markShown = () => {
|
|
17
|
+
localStorage.setItem(
|
|
18
|
+
STORAGE_KEY,
|
|
19
|
+
JSON.stringify({ timestamp: Date.now() })
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
const showBanner = () => {
|
|
23
|
+
if (!hasShown()) {
|
|
24
|
+
setIsVisible(true);
|
|
25
|
+
markShown();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const handleMouseLeave = (e) => {
|
|
29
|
+
if (e.clientY <= 0) showBanner();
|
|
30
|
+
};
|
|
31
|
+
const handleScroll = () => {
|
|
32
|
+
const scrollY = window.scrollY;
|
|
33
|
+
const maxScroll = document.body.scrollHeight - window.innerHeight;
|
|
34
|
+
const percentScrolled = scrollY / maxScroll * 100;
|
|
35
|
+
if (percentScrolled > 60) {
|
|
36
|
+
window.addEventListener("scroll", detectScrollUp);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const detectScrollUp = () => {
|
|
40
|
+
if (window.scrollY < window.innerHeight * 0.25) {
|
|
41
|
+
showBanner();
|
|
42
|
+
window.removeEventListener("scroll", detectScrollUp);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
let inactivityTimer;
|
|
46
|
+
const resetInactivity = () => {
|
|
47
|
+
clearTimeout(inactivityTimer);
|
|
48
|
+
inactivityTimer = setTimeout(() => {
|
|
49
|
+
showBanner();
|
|
50
|
+
}, 15e3);
|
|
51
|
+
};
|
|
52
|
+
const startListeners = () => {
|
|
53
|
+
document.addEventListener("mouseleave", handleMouseLeave);
|
|
54
|
+
window.addEventListener("scroll", handleScroll);
|
|
55
|
+
document.addEventListener("mousemove", resetInactivity);
|
|
56
|
+
document.addEventListener("keydown", resetInactivity);
|
|
57
|
+
};
|
|
58
|
+
const initTimeout = setTimeout(startListeners, 1e4);
|
|
59
|
+
resetInactivity();
|
|
60
|
+
return () => {
|
|
61
|
+
clearTimeout(initTimeout);
|
|
62
|
+
clearTimeout(inactivityTimer);
|
|
63
|
+
document.removeEventListener("mouseleave", handleMouseLeave);
|
|
64
|
+
window.removeEventListener("scroll", handleScroll);
|
|
65
|
+
document.removeEventListener("mousemove", resetInactivity);
|
|
66
|
+
document.removeEventListener("keydown", resetInactivity);
|
|
67
|
+
window.removeEventListener("scroll", detectScrollUp);
|
|
68
|
+
};
|
|
69
|
+
}, [enabled]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (!isVisible) return;
|
|
72
|
+
const handleClickOutside = (e) => {
|
|
73
|
+
if (modalRef.current && !modalRef.current.contains(e.target)) {
|
|
74
|
+
setIsVisible(false);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
78
|
+
return () => {
|
|
79
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
80
|
+
};
|
|
81
|
+
}, [isVisible]);
|
|
82
|
+
return {
|
|
83
|
+
isVisible,
|
|
84
|
+
close: () => setIsVisible(false),
|
|
85
|
+
modalRef
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export {
|
|
89
|
+
useExitIntentModal
|
|
90
|
+
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
export declare const billboard: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
2
2
|
variant: {
|
|
3
3
|
primary: {
|
|
4
|
-
background: `var(--${string})
|
|
5
|
-
color: `var(--${string})
|
|
4
|
+
background: `var(--${string})`;
|
|
5
|
+
color: `var(--${string})`;
|
|
6
6
|
border: "1px solid #D4D4D4";
|
|
7
7
|
};
|
|
8
8
|
secondary: {
|
|
9
|
-
background: `var(--${string})
|
|
10
|
-
color: `var(--${string})
|
|
9
|
+
background: `var(--${string})`;
|
|
10
|
+
color: `var(--${string})`;
|
|
11
11
|
};
|
|
12
12
|
tertiary: {
|
|
13
|
-
background: `var(--${string})
|
|
14
|
-
color: `var(--${string})
|
|
13
|
+
background: `var(--${string})`;
|
|
14
|
+
color: `var(--${string})`;
|
|
15
15
|
};
|
|
16
16
|
quaternary: {
|
|
17
|
-
background: `var(--${string})
|
|
18
|
-
color: `var(--${string})
|
|
17
|
+
background: `var(--${string})`;
|
|
18
|
+
color: `var(--${string})`;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
}>;
|
|
@@ -61,12 +61,12 @@ export declare const supertag: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
61
61
|
selectors: {
|
|
62
62
|
[x: string]: {
|
|
63
63
|
WebkitBackgroundClip: "text";
|
|
64
|
-
backgroundImage: `var(--${string})
|
|
64
|
+
backgroundImage: `var(--${string})`;
|
|
65
65
|
WebkitTextFillColor: "transparent";
|
|
66
66
|
textShadow: "0px 0px #00000000";
|
|
67
67
|
color?: undefined;
|
|
68
68
|
} | {
|
|
69
|
-
color: `var(--${string})
|
|
69
|
+
color: `var(--${string})`;
|
|
70
70
|
WebkitBackgroundClip?: undefined;
|
|
71
71
|
backgroundImage?: undefined;
|
|
72
72
|
WebkitTextFillColor?: undefined;
|
|
@@ -78,12 +78,12 @@ export declare const supertag: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
78
78
|
selectors: {
|
|
79
79
|
[x: string]: {
|
|
80
80
|
WebkitBackgroundClip: "text";
|
|
81
|
-
backgroundImage: `var(--${string})
|
|
81
|
+
backgroundImage: `var(--${string})`;
|
|
82
82
|
WebkitTextFillColor: "transparent";
|
|
83
83
|
textShadow: "0px 0px #00000000";
|
|
84
84
|
color?: undefined;
|
|
85
85
|
} | {
|
|
86
|
-
color: `var(--${string})
|
|
86
|
+
color: `var(--${string})`;
|
|
87
87
|
WebkitBackgroundClip?: undefined;
|
|
88
88
|
backgroundImage?: undefined;
|
|
89
89
|
WebkitTextFillColor?: undefined;
|
|
@@ -92,10 +92,10 @@ export declare const supertag: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
92
92
|
};
|
|
93
93
|
};
|
|
94
94
|
tertiary: {
|
|
95
|
-
color: `var(--${string})
|
|
95
|
+
color: `var(--${string})`;
|
|
96
96
|
};
|
|
97
97
|
quaternary: {
|
|
98
|
-
color: `var(--${string})
|
|
98
|
+
color: `var(--${string})`;
|
|
99
99
|
};
|
|
100
100
|
};
|
|
101
101
|
}>;
|
|
@@ -105,12 +105,12 @@ export declare const header: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
105
105
|
selectors: {
|
|
106
106
|
[x: string]: {
|
|
107
107
|
WebkitBackgroundClip: "text";
|
|
108
|
-
backgroundImage: `var(--${string})
|
|
108
|
+
backgroundImage: `var(--${string})`;
|
|
109
109
|
WebkitTextFillColor: "transparent";
|
|
110
110
|
textShadow: "0px 0px #00000000";
|
|
111
111
|
color?: undefined;
|
|
112
112
|
} | {
|
|
113
|
-
color: `var(--${string})
|
|
113
|
+
color: `var(--${string})`;
|
|
114
114
|
WebkitBackgroundClip?: undefined;
|
|
115
115
|
backgroundImage?: undefined;
|
|
116
116
|
WebkitTextFillColor?: undefined;
|
|
@@ -122,12 +122,12 @@ export declare const header: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
122
122
|
selectors: {
|
|
123
123
|
[x: string]: {
|
|
124
124
|
WebkitBackgroundClip: "text";
|
|
125
|
-
backgroundImage: `var(--${string})
|
|
125
|
+
backgroundImage: `var(--${string})`;
|
|
126
126
|
WebkitTextFillColor: "transparent";
|
|
127
127
|
textShadow: "0px 0px #00000000";
|
|
128
128
|
color?: undefined;
|
|
129
129
|
} | {
|
|
130
|
-
color: `var(--${string})
|
|
130
|
+
color: `var(--${string})`;
|
|
131
131
|
WebkitBackgroundClip?: undefined;
|
|
132
132
|
backgroundImage?: undefined;
|
|
133
133
|
WebkitTextFillColor?: undefined;
|
|
@@ -136,15 +136,16 @@ export declare const header: import('@vanilla-extract/recipes').RuntimeFn<{
|
|
|
136
136
|
};
|
|
137
137
|
};
|
|
138
138
|
tertiary: {
|
|
139
|
-
color: `var(--${string})
|
|
139
|
+
color: `var(--${string})`;
|
|
140
140
|
};
|
|
141
141
|
quaternary: {
|
|
142
|
-
color: `var(--${string})
|
|
142
|
+
color: `var(--${string})`;
|
|
143
143
|
};
|
|
144
144
|
};
|
|
145
145
|
}>;
|
|
146
146
|
export declare const billboard_container: string;
|
|
147
147
|
export declare const billboard_img: string;
|
|
148
|
+
export declare const is_bg_img: string;
|
|
148
149
|
export declare const billboard_body: string;
|
|
149
150
|
export declare const billboard_header_section: string;
|
|
150
151
|
export declare const billboard_ctas: string;
|
|
@@ -156,6 +157,8 @@ export declare const section_text_ImageBillboard: string;
|
|
|
156
157
|
export declare const billboard_image: string;
|
|
157
158
|
export declare const mh_330: string;
|
|
158
159
|
export declare const image_background: string;
|
|
160
|
+
export declare const image_inner_wrapper: string;
|
|
161
|
+
export declare const image_based: string;
|
|
159
162
|
export declare const rate_container: string;
|
|
160
163
|
export declare const rate_pad: string;
|
|
161
164
|
export declare const up_to: string;
|
|
@@ -163,3 +166,16 @@ export declare const rate_billboard: string;
|
|
|
163
166
|
export declare const apy_billboard: string;
|
|
164
167
|
export declare const body_copy: string;
|
|
165
168
|
export declare const sub_bullets: string;
|
|
169
|
+
export declare const top_left: string;
|
|
170
|
+
export declare const top_center: string;
|
|
171
|
+
export declare const top_right: string;
|
|
172
|
+
export declare const center_left: string;
|
|
173
|
+
export declare const center_right: string;
|
|
174
|
+
export declare const center_center: string;
|
|
175
|
+
export declare const bottom_left: string;
|
|
176
|
+
export declare const bottom_right: string;
|
|
177
|
+
export declare const bottom_center: string;
|
|
178
|
+
export declare const remove_padding: string;
|
|
179
|
+
export declare const exit_intent_backdrop: string;
|
|
180
|
+
export declare const exit_intent: string;
|
|
181
|
+
export declare const modal_close_button: string;
|
|
@@ -11,24 +11,40 @@ var supertag = createRuntimeFn({ defaultClassName: "_1m7m2a8", variantClassNames
|
|
|
11
11
|
var header = createRuntimeFn({ defaultClassName: "_1m7m2ad", variantClassNames: { variant: { primary: "_1m7m2ae", secondary: "_1m7m2af", tertiary: "_1m7m2ag", quaternary: "_1m7m2ah" } }, defaultVariants: {}, compoundVariants: [] });
|
|
12
12
|
var billboard_container = "_1m7m2ai";
|
|
13
13
|
var billboard_img = "_1m7m2aj";
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
14
|
+
var is_bg_img = "_1m7m2ak";
|
|
15
|
+
var billboard_body = "_1m7m2al";
|
|
16
|
+
var billboard_header_section = "_1m7m2am";
|
|
17
|
+
var billboard_ctas = "_1m7m2an";
|
|
18
|
+
var body = "_1m7m2ao";
|
|
19
|
+
var single_container = "_1m7m2ap";
|
|
20
|
+
var two_inline = "_1m7m2aq";
|
|
21
|
+
var three_inline = "_1m7m2ar";
|
|
22
|
+
var section_text_ImageBillboard = "_1m7m2as";
|
|
23
|
+
var billboard_image = "_1m7m2at";
|
|
24
|
+
var mh_330 = "_1m7m2au";
|
|
25
|
+
var image_background = "_1m7m2av";
|
|
26
|
+
var image_inner_wrapper = "_1m7m2aw";
|
|
27
|
+
var image_based = "_1m7m2ax";
|
|
28
|
+
var rate_container = "_1m7m2ay";
|
|
29
|
+
var rate_pad = "_1m7m2az";
|
|
30
|
+
var up_to = "_1m7m2a10";
|
|
31
|
+
var rate_billboard = "_1m7m2a11";
|
|
32
|
+
var apy_billboard = "_1m7m2a12";
|
|
33
|
+
var body_copy = "_1m7m2a13";
|
|
34
|
+
var sub_bullets = "_1m7m2a14";
|
|
35
|
+
var top_left = "_1m7m2a15";
|
|
36
|
+
var top_center = "_1m7m2a16";
|
|
37
|
+
var top_right = "_1m7m2a17";
|
|
38
|
+
var center_left = "_1m7m2a18";
|
|
39
|
+
var center_right = "_1m7m2a19";
|
|
40
|
+
var center_center = "_1m7m2a1a";
|
|
41
|
+
var bottom_left = "_1m7m2a1b";
|
|
42
|
+
var bottom_right = "_1m7m2a1c";
|
|
43
|
+
var bottom_center = "_1m7m2a1d";
|
|
44
|
+
var remove_padding = "_1m7m2a1e";
|
|
45
|
+
var exit_intent_backdrop = "_1m7m2a1f";
|
|
46
|
+
var exit_intent = "_1m7m2a1g";
|
|
47
|
+
var modal_close_button = "_1m7m2a1h";
|
|
32
48
|
export {
|
|
33
49
|
apy_billboard,
|
|
34
50
|
billboard,
|
|
@@ -40,18 +56,34 @@ export {
|
|
|
40
56
|
billboard_img,
|
|
41
57
|
body,
|
|
42
58
|
body_copy,
|
|
59
|
+
bottom_center,
|
|
60
|
+
bottom_left,
|
|
61
|
+
bottom_right,
|
|
62
|
+
center_center,
|
|
63
|
+
center_left,
|
|
64
|
+
center_right,
|
|
65
|
+
exit_intent,
|
|
66
|
+
exit_intent_backdrop,
|
|
43
67
|
header,
|
|
44
68
|
imagePlacement,
|
|
45
69
|
image_background,
|
|
70
|
+
image_based,
|
|
71
|
+
image_inner_wrapper,
|
|
72
|
+
is_bg_img,
|
|
46
73
|
mh_330,
|
|
74
|
+
modal_close_button,
|
|
47
75
|
rate_billboard,
|
|
48
76
|
rate_container,
|
|
49
77
|
rate_pad,
|
|
78
|
+
remove_padding,
|
|
50
79
|
section_text_ImageBillboard,
|
|
51
80
|
single_container,
|
|
52
81
|
sub_bullets,
|
|
53
82
|
supertag,
|
|
54
83
|
three_inline,
|
|
84
|
+
top_center,
|
|
85
|
+
top_left,
|
|
86
|
+
top_right,
|
|
55
87
|
two_inline,
|
|
56
88
|
up_to
|
|
57
89
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BulletItemProps } from '../BulletItem';
|
|
2
2
|
import { ChevronProps } from '../Chevron/Chevron.interface';
|
|
3
|
-
import { ImageInterface } from '../IconBillboard';
|
|
4
3
|
import { QuaternaryTypes } from '../utils/variant.types';
|
|
5
4
|
import { ReactNode } from 'react';
|
|
6
5
|
|
|
@@ -13,6 +12,22 @@ export interface ImageBillboardSetProps {
|
|
|
13
12
|
variant: QuaternaryTypes;
|
|
14
13
|
set?: boolean;
|
|
15
14
|
bordered?: boolean;
|
|
15
|
+
layout?: "Inline" | "Stacked";
|
|
16
|
+
}
|
|
17
|
+
export interface BillboardImageInterface {
|
|
18
|
+
src: string;
|
|
19
|
+
alt?: string;
|
|
20
|
+
imageType?: "Image" | "Background Image";
|
|
21
|
+
imageAlignment?: string;
|
|
22
|
+
imageBackgroundColor?: string;
|
|
23
|
+
height?: string | number;
|
|
24
|
+
width?: string | number;
|
|
25
|
+
}
|
|
26
|
+
export interface BillboardVideoInterface {
|
|
27
|
+
videoId: string;
|
|
28
|
+
videoPlayer: string;
|
|
29
|
+
thubnailImage: string;
|
|
30
|
+
transcript?: string;
|
|
16
31
|
}
|
|
17
32
|
export interface ImageBillboardInterface {
|
|
18
33
|
id: string;
|
|
@@ -24,11 +39,14 @@ export interface ImageBillboardInterface {
|
|
|
24
39
|
variant: QuaternaryTypes;
|
|
25
40
|
eyebrow: string | ReactNode;
|
|
26
41
|
bullets: BulletItemProps[];
|
|
27
|
-
image?:
|
|
42
|
+
image?: BillboardImageInterface;
|
|
43
|
+
video?: BillboardVideoInterface;
|
|
28
44
|
callToActionRow: ChevronProps[];
|
|
29
45
|
set?: boolean;
|
|
30
46
|
textImageLineOneSmall?: ReactNode | string;
|
|
31
47
|
textImageLineTwoBig?: ReactNode | string;
|
|
32
48
|
textImageLineThreeSmall?: ReactNode | string;
|
|
33
49
|
internalName?: string;
|
|
50
|
+
exitIntent?: boolean;
|
|
51
|
+
layout?: ImageBillboardSetProps["layout"];
|
|
34
52
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ImageBillboardInterface } from './ImageBillboard.interface';
|
|
2
2
|
|
|
3
|
-
export declare const ImageBillboard: ({ id,
|
|
3
|
+
export declare const ImageBillboard: ({ id, bodyCopy, bordered, bullets, callToActionRow, exitIntent, eyebrow, headline, image, video, imagePlacement: position, internalName, set, textImageLineOneSmall, textImageLineThreeSmall, textImageLineTwoBig, variant, }: ImageBillboardInterface) => import("react/jsx-runtime").JSX.Element | null;
|