@axos-web-dev/shared-components 0.0.12 → 0.0.13
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/Button/Button.d.ts +2 -2
- package/dist/Button/Button.js +18 -2
- package/dist/Chevron/index.js +53 -1
- package/dist/Forms/Forms.css.d.ts +1 -0
- package/dist/Forms/Forms.css.js +2 -0
- package/dist/Forms/ScheduleCall.js +2 -2
- package/dist/Forms/index.js +2 -1
- package/dist/Hyperlink/index.js +58 -1
- package/dist/Input/Input.css.js +0 -5
- package/dist/MainHTML/index.js +1 -1
- package/dist/Modal/Modal.d.ts +3 -0
- package/dist/Modal/Modal.js +95 -0
- package/dist/Modal/contextApi/store.d.ts +10 -0
- package/dist/Modal/contextApi/store.js +55 -0
- package/dist/Modal/index.d.ts +2 -3
- package/dist/Modal/index.js +7 -94
- package/dist/NavigationMenu/AxosAdvisor/NavBar.css.d.ts +1 -0
- package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +3 -1
- package/dist/NavigationMenu/AxosAdvisor/SubNavBar.js +0 -19
- package/dist/NavigationMenu/AxosAdvisor/index.js +102 -74
- package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +40 -40
- package/dist/SecondaryFooter/index.js +2 -1
- package/dist/SetContainer/SetContainer.js +29 -1
- package/dist/Table/Table.d.ts +0 -2
- package/dist/assets/FaqAccordion/FaqAccordion.css +2 -2
- package/dist/assets/Forms/Forms.css +10 -4
- package/dist/assets/Input/Input.css +0 -3
- package/dist/assets/Modal/Modal.css +3 -3
- package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +4 -0
- package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +82 -82
- package/dist/assets/SecondaryFooter/SecondaryFooter.css +0 -2
- package/dist/assets/Table/Table.css +2 -2
- package/dist/main.js +16 -2
- package/dist/utils/allowedAxosDomains.d.ts +2 -0
- package/dist/utils/allowedAxosDomains.js +40 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +10 -1
- package/dist/utils/validateExternalLinks.d.ts +5 -0
- package/dist/utils/validateExternalLinks.js +32 -0
- package/package.json +4 -2
package/dist/Button/Button.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export type ButtonAsLink = ButtonBase & Omit<AnchorHTMLAttributes<HTMLAnchorElem
|
|
|
17
17
|
export type ButtonProps = ButtonAsButton | ButtonAsLink;
|
|
18
18
|
export declare const Button: ({ as, children, color, size, disabled, rounded, targetUrl, id, newTab, action, className, }: ButtonProps & ButtonVariants) => import("react").DetailedReactHTMLElement<{
|
|
19
19
|
className: string;
|
|
20
|
-
href: string
|
|
20
|
+
href: string;
|
|
21
21
|
id: string | undefined;
|
|
22
22
|
target: string;
|
|
23
|
-
onClick: (
|
|
23
|
+
onClick: (e: React.MouseEvent<Element, MouseEvent>) => void;
|
|
24
24
|
}, HTMLElement>;
|
package/dist/Button/Button.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useGlobalContext } from "../Modal/contextApi/store.js";
|
|
3
|
+
import { findMoreAxosDomains } from "../utils/allowedAxosDomains.js";
|
|
4
|
+
import { validateLink } from "../utils/validateExternalLinks.js";
|
|
1
5
|
import clsx from "clsx";
|
|
2
6
|
import { createElement } from "react";
|
|
3
7
|
import { button } from "./Button.css.js";
|
|
@@ -14,14 +18,26 @@ const Button = ({
|
|
|
14
18
|
action,
|
|
15
19
|
className
|
|
16
20
|
}) => {
|
|
21
|
+
const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
|
|
22
|
+
const onClick = (e) => {
|
|
23
|
+
if (targetUrl) {
|
|
24
|
+
const external_link = validateLink(targetUrl);
|
|
25
|
+
if (external_link) {
|
|
26
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
setOpenModal(external_link);
|
|
29
|
+
setTargetLinkUrl(targetUrl);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
17
33
|
return createElement(
|
|
18
34
|
as,
|
|
19
35
|
{
|
|
20
36
|
className: clsx(button({ color, size, disabled, rounded }), className),
|
|
21
|
-
href: targetUrl,
|
|
37
|
+
href: findMoreAxosDomains(targetUrl),
|
|
22
38
|
id,
|
|
23
39
|
target: newTab ? "_blank" : "_self",
|
|
24
|
-
onClick: action
|
|
40
|
+
onClick: action ?? onClick
|
|
25
41
|
},
|
|
26
42
|
children
|
|
27
43
|
);
|
package/dist/Chevron/index.js
CHANGED
|
@@ -1,11 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
3
|
import SvgArrowIcon from "../icons/ArrowIcon/index.js";
|
|
3
4
|
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
4
5
|
/* empty css */
|
|
5
6
|
/* empty css */
|
|
6
7
|
/* empty css */
|
|
8
|
+
import "../Accordion/Accordion.js";
|
|
9
|
+
import "../Accordion/Accordion.css.js";
|
|
10
|
+
import "../AlertBanner/AlertBanner.css.js";
|
|
11
|
+
import { useGlobalContext } from "../Modal/contextApi/store.js";
|
|
12
|
+
import { findMoreAxosDomains } from "../utils/allowedAxosDomains.js";
|
|
7
13
|
import { getVariant } from "../utils/getVariant.js";
|
|
14
|
+
import { validateLink } from "../utils/validateExternalLinks.js";
|
|
15
|
+
import "clsx";
|
|
16
|
+
import "react";
|
|
17
|
+
import "../Button/Button.css.js";
|
|
18
|
+
import "react-use";
|
|
19
|
+
/* empty css */
|
|
20
|
+
import "../IconBillboard/IconBillboard.css.js";
|
|
21
|
+
/* empty css */
|
|
22
|
+
/* empty css */
|
|
23
|
+
/* empty css */
|
|
24
|
+
import "../Carousel/index.js";
|
|
25
|
+
/* empty css */
|
|
26
|
+
import "../HeroBanner/HeroBanner.css.js";
|
|
27
|
+
import "../ContentBanner/ContentBanner.css.js";
|
|
28
|
+
/* empty css */
|
|
29
|
+
import "../FaqAccordion/index.js";
|
|
30
|
+
import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
31
|
+
import "../Forms/Forms.css.js";
|
|
32
|
+
import "../Forms/SalesforceFieldsForm.js";
|
|
33
|
+
import "@hookform/resolvers/zod";
|
|
34
|
+
import "../Input/index.js";
|
|
35
|
+
import "react-hook-form";
|
|
36
|
+
/* empty css */
|
|
37
|
+
import "../ImageBillboard/ImageBillboard.css.js";
|
|
8
38
|
import { chevron_wrapper, chevron } from "./Chevron.css.js";
|
|
39
|
+
/* empty css */
|
|
40
|
+
/* empty css */
|
|
41
|
+
/* empty css */
|
|
42
|
+
/* empty css */
|
|
43
|
+
import "../Table/Table.css.js";
|
|
44
|
+
/* empty css */
|
|
45
|
+
import "next/script.js";
|
|
46
|
+
/* empty css */
|
|
47
|
+
/* empty css */
|
|
9
48
|
const Chevron = ({
|
|
10
49
|
children,
|
|
11
50
|
variant,
|
|
@@ -14,13 +53,26 @@ const Chevron = ({
|
|
|
14
53
|
className
|
|
15
54
|
}) => {
|
|
16
55
|
variant = getVariant(variant);
|
|
56
|
+
const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
|
|
57
|
+
const onClick = (e) => {
|
|
58
|
+
if (targetUrl) {
|
|
59
|
+
const external_link = validateLink(targetUrl);
|
|
60
|
+
if (external_link) {
|
|
61
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
setOpenModal(external_link);
|
|
64
|
+
setTargetLinkUrl(targetUrl);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
17
68
|
return /* @__PURE__ */ jsxs("span", { className: `sc__btn ${chevron_wrapper}`, children: [
|
|
18
69
|
/* @__PURE__ */ jsx(
|
|
19
70
|
"a",
|
|
20
71
|
{
|
|
21
72
|
id,
|
|
22
|
-
href: targetUrl,
|
|
73
|
+
href: findMoreAxosDomains(targetUrl),
|
|
23
74
|
className: `${chevron({ variant })} ${className ? className : ""}`,
|
|
75
|
+
onClick,
|
|
24
76
|
children
|
|
25
77
|
}
|
|
26
78
|
),
|
package/dist/Forms/Forms.css.js
CHANGED
|
@@ -9,9 +9,11 @@ var headerForm = createRuntimeFn({ defaultClassName: "tfms6a6", variantClassName
|
|
|
9
9
|
var formWrapper = createRuntimeFn({ defaultClassName: "tfms6ab", variantClassNames: { variant: { primary: "tfms6ac", secondary: "tfms6ad", tertiary: "tfms6ae", quaternary: "tfms6af" } }, defaultVariants: {}, compoundVariants: [] });
|
|
10
10
|
var actions = "tfms6ag";
|
|
11
11
|
var disclosureForm = createRuntimeFn({ defaultClassName: "tfms6ah", variantClassNames: { variant: { primary: "tfms6ai", secondary: "tfms6aj", tertiary: "tfms6ak", quaternary: "tfms6al" } }, defaultVariants: {}, compoundVariants: [] });
|
|
12
|
+
var form = "tfms6am";
|
|
12
13
|
export {
|
|
13
14
|
actions,
|
|
14
15
|
disclosureForm,
|
|
16
|
+
form,
|
|
15
17
|
formContainer,
|
|
16
18
|
formWrapper,
|
|
17
19
|
headerForm,
|
|
@@ -16,7 +16,7 @@ import { getVariant } from "../utils/getVariant.js";
|
|
|
16
16
|
import clsx from "clsx";
|
|
17
17
|
import { useForm, FormProvider } from "react-hook-form";
|
|
18
18
|
import * as z from "zod";
|
|
19
|
-
import { formContainer, iconForm, headerForm, formWrapper, disclosureForm, actions } from "./Forms.css.js";
|
|
19
|
+
import { formContainer, iconForm, headerForm, form, formWrapper, disclosureForm, actions } from "./Forms.css.js";
|
|
20
20
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
21
21
|
const ScheduleCall = ({
|
|
22
22
|
icon = false,
|
|
@@ -59,7 +59,7 @@ const ScheduleCall = ({
|
|
|
59
59
|
return /* @__PURE__ */ jsx("section", { className: clsx(formContainer({ variant })), children: /* @__PURE__ */ jsxs(FormProvider, { ...methods, children: [
|
|
60
60
|
icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", iconForm), children: /* @__PURE__ */ jsx(SvgAxosX, {}) }),
|
|
61
61
|
/* @__PURE__ */ jsx("div", { className: clsx("header_2 text_center", headerForm({ variant })), children: headline }),
|
|
62
|
-
/* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit(submitForm), children: [
|
|
62
|
+
/* @__PURE__ */ jsxs("form", { className: form, onSubmit: handleSubmit(submitForm), children: [
|
|
63
63
|
/* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant })), children: [
|
|
64
64
|
/* @__PURE__ */ jsx("div", { className: "", children: /* @__PURE__ */ jsx(
|
|
65
65
|
Input,
|
package/dist/Forms/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { actions, disclosureForm, formContainer, formWrapper, headerForm, iconForm } from "./Forms.css.js";
|
|
1
|
+
import { actions, disclosureForm, form, formContainer, formWrapper, headerForm, iconForm } from "./Forms.css.js";
|
|
2
2
|
import { RenderWebForm, renderSwitch } from "./RenderForm.js";
|
|
3
3
|
import { SalesforceFieldsForm, SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
4
4
|
import { ScheduleCall } from "./ScheduleCall.js";
|
|
@@ -9,6 +9,7 @@ export {
|
|
|
9
9
|
ScheduleCall,
|
|
10
10
|
actions,
|
|
11
11
|
disclosureForm,
|
|
12
|
+
form,
|
|
12
13
|
formContainer,
|
|
13
14
|
formWrapper,
|
|
14
15
|
headerForm,
|
package/dist/Hyperlink/index.js
CHANGED
|
@@ -1,16 +1,73 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import "../Accordion/Accordion.js";
|
|
4
|
+
import "../Accordion/Accordion.css.js";
|
|
5
|
+
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
6
|
+
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
/* empty css */
|
|
9
|
+
import "../Chevron/Chevron.css.js";
|
|
10
|
+
import "../AlertBanner/AlertBanner.css.js";
|
|
11
|
+
import { useGlobalContext } from "../Modal/contextApi/store.js";
|
|
12
|
+
import { findMoreAxosDomains } from "../utils/allowedAxosDomains.js";
|
|
13
|
+
import { validateLink } from "../utils/validateExternalLinks.js";
|
|
14
|
+
import "clsx";
|
|
15
|
+
import "react";
|
|
16
|
+
import "../Button/Button.css.js";
|
|
17
|
+
import "react-use";
|
|
18
|
+
/* empty css */
|
|
19
|
+
import "../IconBillboard/IconBillboard.css.js";
|
|
20
|
+
/* empty css */
|
|
21
|
+
/* empty css */
|
|
22
|
+
/* empty css */
|
|
23
|
+
import "../Carousel/index.js";
|
|
24
|
+
/* empty css */
|
|
25
|
+
import "../HeroBanner/HeroBanner.css.js";
|
|
26
|
+
import "../ContentBanner/ContentBanner.css.js";
|
|
27
|
+
/* empty css */
|
|
28
|
+
import "../FaqAccordion/index.js";
|
|
29
|
+
import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
30
|
+
import "../Forms/Forms.css.js";
|
|
31
|
+
import "../Forms/SalesforceFieldsForm.js";
|
|
32
|
+
import "@hookform/resolvers/zod";
|
|
33
|
+
import "../Input/index.js";
|
|
34
|
+
import "react-hook-form";
|
|
35
|
+
/* empty css */
|
|
36
|
+
import "../ImageBillboard/ImageBillboard.css.js";
|
|
37
|
+
/* empty css */
|
|
38
|
+
/* empty css */
|
|
39
|
+
/* empty css */
|
|
40
|
+
/* empty css */
|
|
41
|
+
import "../Table/Table.css.js";
|
|
42
|
+
/* empty css */
|
|
43
|
+
import "next/script.js";
|
|
44
|
+
/* empty css */
|
|
45
|
+
/* empty css */
|
|
2
46
|
const Hyperlink = ({
|
|
3
47
|
children,
|
|
4
48
|
targetUrl,
|
|
5
49
|
id,
|
|
6
50
|
className
|
|
7
51
|
}) => {
|
|
52
|
+
const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
|
|
53
|
+
const onClick = (e) => {
|
|
54
|
+
if (targetUrl) {
|
|
55
|
+
const external_link = validateLink(targetUrl);
|
|
56
|
+
if (external_link) {
|
|
57
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
setOpenModal(external_link);
|
|
60
|
+
setTargetLinkUrl(targetUrl);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
8
64
|
return /* @__PURE__ */ jsx(
|
|
9
65
|
"a",
|
|
10
66
|
{
|
|
11
67
|
id: id ? id : "",
|
|
12
|
-
href: targetUrl,
|
|
68
|
+
href: findMoreAxosDomains(targetUrl),
|
|
13
69
|
className: `${className ? className : ""}`,
|
|
70
|
+
onClick,
|
|
14
71
|
children
|
|
15
72
|
}
|
|
16
73
|
);
|
package/dist/Input/Input.css.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
/* empty css */
|
|
2
|
-
/* empty css */
|
|
3
2
|
/* empty css */
|
|
4
|
-
/* empty css */
|
|
5
|
-
/* empty css */
|
|
6
|
-
/* empty css */
|
|
7
|
-
/* empty css */
|
|
8
3
|
/* empty css */
|
|
9
4
|
import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
10
5
|
var icon = createRuntimeFn({ defaultClassName: "_18du0la0", variantClassNames: { size: { small: "_18du0la1", medium: "_18du0la2", large: "_18du0la3" } }, defaultVariants: {}, compoundVariants: [] });
|
package/dist/MainHTML/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { axosTheme } from "../themes/axos.css.js";
|
|
3
3
|
import { premierTheme } from "../themes/premier.css.js";
|
|
4
4
|
const MainHTML = ({ theme = "Axos", children }) => {
|
|
5
|
-
return /* @__PURE__ */ jsx("
|
|
5
|
+
return /* @__PURE__ */ jsx("body", { className: theme === "Premier" ? premierTheme : axosTheme, children: /* @__PURE__ */ jsx("main", { children }, "main-body") });
|
|
6
6
|
};
|
|
7
7
|
export {
|
|
8
8
|
MainHTML
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { chevron } from "../Chevron/Chevron.css.js";
|
|
3
|
+
import "../Accordion/Accordion.js";
|
|
4
|
+
import "../Accordion/Accordion.css.js";
|
|
5
|
+
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
6
|
+
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
/* empty css */
|
|
9
|
+
import "../AlertBanner/AlertBanner.css.js";
|
|
10
|
+
import { Button } from "../Button/Button.js";
|
|
11
|
+
import "../Button/Button.css.js";
|
|
12
|
+
import "react";
|
|
13
|
+
import "react-use";
|
|
14
|
+
/* empty css */
|
|
15
|
+
import "../IconBillboard/IconBillboard.css.js";
|
|
16
|
+
/* empty css */
|
|
17
|
+
/* empty css */
|
|
18
|
+
import "clsx";
|
|
19
|
+
/* empty css */
|
|
20
|
+
import "../Carousel/index.js";
|
|
21
|
+
/* empty css */
|
|
22
|
+
import "../HeroBanner/HeroBanner.css.js";
|
|
23
|
+
import "../ContentBanner/ContentBanner.css.js";
|
|
24
|
+
/* empty css */
|
|
25
|
+
import "../FaqAccordion/index.js";
|
|
26
|
+
import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
27
|
+
import "../Forms/Forms.css.js";
|
|
28
|
+
import "../Forms/SalesforceFieldsForm.js";
|
|
29
|
+
import "@hookform/resolvers/zod";
|
|
30
|
+
import "../Input/index.js";
|
|
31
|
+
import "react-hook-form";
|
|
32
|
+
/* empty css */
|
|
33
|
+
import "../ImageBillboard/ImageBillboard.css.js";
|
|
34
|
+
import "./contextApi/store.js";
|
|
35
|
+
/* empty css */
|
|
36
|
+
/* empty css */
|
|
37
|
+
/* empty css */
|
|
38
|
+
import "../Table/Table.css.js";
|
|
39
|
+
/* empty css */
|
|
40
|
+
import "next/script.js";
|
|
41
|
+
/* empty css */
|
|
42
|
+
/* empty css */
|
|
43
|
+
import { modal, modal_dialog, modal_content, modal_header, modal_title, modal_subtitle, solid, modal_body, site_link, modal_footer } from "./Modal.css.js";
|
|
44
|
+
const Modal = ({
|
|
45
|
+
headline,
|
|
46
|
+
bodyCopy,
|
|
47
|
+
body,
|
|
48
|
+
onAccept,
|
|
49
|
+
onCancel
|
|
50
|
+
}) => {
|
|
51
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { id: "speedbump", tabIndex: -1, role: "dialog", className: modal, children: /* @__PURE__ */ jsx("div", { className: `${modal_dialog} rounded`, children: /* @__PURE__ */ jsxs("div", { className: `${modal_content} rounded`, children: [
|
|
52
|
+
/* @__PURE__ */ jsxs("div", { className: `${modal_header} text_center`, children: [
|
|
53
|
+
/* @__PURE__ */ jsx("h2", { className: `${modal_title} header_3`, children: headline }),
|
|
54
|
+
/* @__PURE__ */ jsx("p", { className: `${modal_subtitle} p_16 mb_0 push_up`, children: bodyCopy })
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ jsx("hr", { className: solid }),
|
|
57
|
+
/* @__PURE__ */ jsxs(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
className: `${modal_body} text-center flex flex_col center middle mx_auto`,
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ jsx("p", { className: "p_16", children: "You will now be redirected to:" }),
|
|
63
|
+
/* @__PURE__ */ jsx("p", { id: "insert-url", className: site_link, children: body })
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ jsx("hr", { className: solid }),
|
|
68
|
+
/* @__PURE__ */ jsxs(
|
|
69
|
+
"div",
|
|
70
|
+
{
|
|
71
|
+
className: `${modal_footer} flex center middle push_up_24`,
|
|
72
|
+
style: { marginInline: "auto", width: "max-content" },
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsx(Button, { color: "primary", action: onAccept, children: "Continue" }),
|
|
75
|
+
/* @__PURE__ */ jsx(
|
|
76
|
+
"a",
|
|
77
|
+
{
|
|
78
|
+
style: { textDecoration: "none", padding: "8px 48px" },
|
|
79
|
+
role: "button",
|
|
80
|
+
className: `sc__btn ${chevron({ variant: "primary" })}`,
|
|
81
|
+
"aria-label": "Close",
|
|
82
|
+
title: "Go Back",
|
|
83
|
+
id: "close",
|
|
84
|
+
onClick: onCancel,
|
|
85
|
+
children: "Close"
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
] }) }) }) });
|
|
92
|
+
};
|
|
93
|
+
export {
|
|
94
|
+
Modal
|
|
95
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Dispatch, PropsWithChildren, SetStateAction } from "react";
|
|
2
|
+
export interface ContextProps {
|
|
3
|
+
targetLinkUrl: string;
|
|
4
|
+
setTargetLinkUrl: Dispatch<SetStateAction<string>>;
|
|
5
|
+
openModal: boolean;
|
|
6
|
+
setOpenModal: Dispatch<SetStateAction<boolean>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const GlobalContext: import("react").Context<ContextProps>;
|
|
9
|
+
export declare const GlobalContextProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const useGlobalContext: () => ContextProps;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Modal } from "../Modal.js";
|
|
4
|
+
import { shortUrl } from "../../utils/validateExternalLinks.js";
|
|
5
|
+
import { createContext, useState, useContext } from "react";
|
|
6
|
+
import { createPortal } from "react-dom";
|
|
7
|
+
const GlobalContext = createContext({
|
|
8
|
+
targetLinkUrl: "",
|
|
9
|
+
setTargetLinkUrl: () => "",
|
|
10
|
+
openModal: false,
|
|
11
|
+
setOpenModal: () => false
|
|
12
|
+
});
|
|
13
|
+
const GlobalContextProvider = ({ children }) => {
|
|
14
|
+
const [targetLinkUrl, setTargetLinkUrl] = useState("");
|
|
15
|
+
const [openModal, setOpenModal] = useState(false);
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
GlobalContext.Provider,
|
|
18
|
+
{
|
|
19
|
+
value: {
|
|
20
|
+
targetLinkUrl,
|
|
21
|
+
setTargetLinkUrl,
|
|
22
|
+
openModal,
|
|
23
|
+
setOpenModal
|
|
24
|
+
},
|
|
25
|
+
children: [
|
|
26
|
+
children,
|
|
27
|
+
openModal ? createPortal(
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
Modal,
|
|
30
|
+
{
|
|
31
|
+
headline: "You're continuing to another website",
|
|
32
|
+
bodyCopy: `Axos Bank does not endorse the information,
|
|
33
|
+
content, presentation or accuracy of any other
|
|
34
|
+
website and claims no responsibility for it.`,
|
|
35
|
+
body: shortUrl(targetLinkUrl),
|
|
36
|
+
onCancel: () => setOpenModal(false),
|
|
37
|
+
onAccept: () => {
|
|
38
|
+
window.open(targetLinkUrl, "_blank", "noreferrer");
|
|
39
|
+
setOpenModal(false);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
document.body,
|
|
44
|
+
"GlobalSpeedBump"
|
|
45
|
+
) : null
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
};
|
|
50
|
+
const useGlobalContext = () => useContext(GlobalContext);
|
|
51
|
+
export {
|
|
52
|
+
GlobalContext,
|
|
53
|
+
GlobalContextProvider,
|
|
54
|
+
useGlobalContext
|
|
55
|
+
};
|
package/dist/Modal/index.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare const Modal: FC<ModalProps>;
|
|
1
|
+
export * from "./Modal";
|
|
2
|
+
export * from "./contextApi/store";
|
package/dist/Modal/index.js
CHANGED
|
@@ -1,96 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import "../Accordion/Accordion.css.js";
|
|
5
|
-
import "../icons/CheckIcon/CheckIcon.css.js";
|
|
6
|
-
/* empty css */
|
|
7
|
-
/* empty css */
|
|
8
|
-
/* empty css */
|
|
9
|
-
import "../AlertBanner/AlertBanner.css.js";
|
|
10
|
-
import { Button } from "../Button/Button.js";
|
|
11
|
-
import "../Button/Button.css.js";
|
|
12
|
-
import "react";
|
|
13
|
-
import "react-use";
|
|
14
|
-
/* empty css */
|
|
15
|
-
import "../IconBillboard/IconBillboard.css.js";
|
|
16
|
-
/* empty css */
|
|
17
|
-
/* empty css */
|
|
18
|
-
import "clsx";
|
|
19
|
-
/* empty css */
|
|
20
|
-
import "../Carousel/index.js";
|
|
21
|
-
/* empty css */
|
|
22
|
-
import "../HeroBanner/HeroBanner.css.js";
|
|
23
|
-
import "../ContentBanner/ContentBanner.css.js";
|
|
24
|
-
/* empty css */
|
|
25
|
-
import "../FaqAccordion/index.js";
|
|
26
|
-
import "../FooterDisclosure/FooterDisclosure.css.js";
|
|
27
|
-
import "../Forms/Forms.css.js";
|
|
28
|
-
import "../Forms/SalesforceFieldsForm.js";
|
|
29
|
-
import "@hookform/resolvers/zod";
|
|
30
|
-
import "../Input/index.js";
|
|
31
|
-
import "react-hook-form";
|
|
32
|
-
/* empty css */
|
|
33
|
-
import "../ImageBillboard/ImageBillboard.css.js";
|
|
34
|
-
/* empty css */
|
|
35
|
-
import "../NavigationMenu/AxosAdvisor/NavBar.module.js";
|
|
36
|
-
/* empty css */
|
|
37
|
-
import "../NavigationMenu/AxosFiduciary/NavBar.module.js";
|
|
38
|
-
/* empty css */
|
|
39
|
-
import "../Table/Table.css.js";
|
|
40
|
-
/* empty css */
|
|
41
|
-
import "next/script.js";
|
|
42
|
-
/* empty css */
|
|
43
|
-
/* empty css */
|
|
44
|
-
import { modal, modal_dialog, modal_content, modal_header, modal_title, modal_subtitle, solid, modal_body, site_link, modal_footer } from "./Modal.css.js";
|
|
45
|
-
const Modal = ({
|
|
46
|
-
headline,
|
|
47
|
-
bodyCopy,
|
|
48
|
-
body,
|
|
49
|
-
onAccept,
|
|
50
|
-
onCancel
|
|
51
|
-
}) => {
|
|
52
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { id: "speedbump", tabIndex: -1, role: "dialog", className: modal, children: /* @__PURE__ */ jsx("div", { className: `${modal_dialog} rounded`, children: /* @__PURE__ */ jsxs("div", { className: `${modal_content} rounded`, children: [
|
|
53
|
-
/* @__PURE__ */ jsxs("div", { className: `${modal_header} text_center`, children: [
|
|
54
|
-
/* @__PURE__ */ jsx("h2", { className: `${modal_title} header_3`, children: headline }),
|
|
55
|
-
/* @__PURE__ */ jsx("p", { className: `${modal_subtitle} p_16 mb_0 push_up`, children: bodyCopy })
|
|
56
|
-
] }),
|
|
57
|
-
/* @__PURE__ */ jsx("hr", { className: solid }),
|
|
58
|
-
/* @__PURE__ */ jsxs(
|
|
59
|
-
"div",
|
|
60
|
-
{
|
|
61
|
-
className: `${modal_body} text-center flex flex_col center middle mx_auto`,
|
|
62
|
-
children: [
|
|
63
|
-
/* @__PURE__ */ jsx("p", { className: "p_16", children: "You will now be redirected to:" }),
|
|
64
|
-
/* @__PURE__ */ jsx("p", { id: "insert-url", className: site_link, children: body })
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
),
|
|
68
|
-
/* @__PURE__ */ jsx("hr", { className: solid }),
|
|
69
|
-
/* @__PURE__ */ jsxs(
|
|
70
|
-
"div",
|
|
71
|
-
{
|
|
72
|
-
className: `${modal_footer} flex center middle push_up_24`,
|
|
73
|
-
style: { marginInline: "auto", width: "max-content" },
|
|
74
|
-
children: [
|
|
75
|
-
/* @__PURE__ */ jsx(Button, { color: "primary", action: () => onAccept, children: "Continue" }),
|
|
76
|
-
/* @__PURE__ */ jsx(
|
|
77
|
-
"a",
|
|
78
|
-
{
|
|
79
|
-
style: { textDecoration: "none", padding: "8px 48px" },
|
|
80
|
-
role: "button",
|
|
81
|
-
className: `sc__btn ${chevron({ variant: "primary" })}`,
|
|
82
|
-
"aria-label": "Close",
|
|
83
|
-
title: "Go Back",
|
|
84
|
-
id: "close",
|
|
85
|
-
onClick: () => onCancel,
|
|
86
|
-
children: "Close"
|
|
87
|
-
}
|
|
88
|
-
)
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
)
|
|
92
|
-
] }) }) }) });
|
|
93
|
-
};
|
|
1
|
+
"use client";
|
|
2
|
+
import { Modal } from "./Modal.js";
|
|
3
|
+
import { GlobalContext, GlobalContextProvider, useGlobalContext } from "./contextApi/store.js";
|
|
94
4
|
export {
|
|
95
|
-
|
|
5
|
+
GlobalContext,
|
|
6
|
+
GlobalContextProvider,
|
|
7
|
+
Modal,
|
|
8
|
+
useGlobalContext
|
|
96
9
|
};
|
|
@@ -9,25 +9,6 @@ import { sub_nav, absoule, dd_media, dd_media_btn } from "./SubNavbar.css.js";
|
|
|
9
9
|
function SubNavBar() {
|
|
10
10
|
const subNav1 = useRef(null);
|
|
11
11
|
const [isMouseOver, setIsMouseOver] = useState(false);
|
|
12
|
-
const allDropDowns = document.querySelectorAll("[id*='dd_'] > a");
|
|
13
|
-
allDropDowns.forEach((elem) => {
|
|
14
|
-
elem.addEventListener("click", function(event) {
|
|
15
|
-
const node = event.target.parentNode.lastChild.classList.contains(
|
|
16
|
-
"expand"
|
|
17
|
-
) instanceof Element;
|
|
18
|
-
switch (node) {
|
|
19
|
-
case true:
|
|
20
|
-
event.target.parentNode.lastChild.classList.remove("expand");
|
|
21
|
-
break;
|
|
22
|
-
case false:
|
|
23
|
-
const prevRadio = document.querySelector(".expand");
|
|
24
|
-
if (prevRadio)
|
|
25
|
-
prevRadio.classList.remove("expand");
|
|
26
|
-
event.target.parentNode.lastChild.classList.add("expand");
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
12
|
const mouseOver = () => {
|
|
32
13
|
setIsMouseOver(true);
|
|
33
14
|
};
|