@axos-web-dev/shared-components 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/Button/Button.d.ts +2 -2
  2. package/dist/Button/Button.js +18 -2
  3. package/dist/CallToActionBar/CallToActionBar.interface.d.ts +1 -0
  4. package/dist/CallToActionBar/index.js +3 -1
  5. package/dist/Chevron/index.js +55 -1
  6. package/dist/Forms/Forms.css.d.ts +1 -0
  7. package/dist/Forms/Forms.css.js +2 -0
  8. package/dist/Forms/ScheduleCall.js +2 -2
  9. package/dist/Forms/index.js +2 -1
  10. package/dist/Hyperlink/index.js +60 -1
  11. package/dist/ImageBillboard/ImageBillboard.css.d.ts +2 -0
  12. package/dist/ImageBillboard/ImageBillboard.css.js +4 -0
  13. package/dist/ImageBillboard/ImageBillboard.js +2 -10
  14. package/dist/ImageBillboard/ImageBillboardSet.js +10 -3
  15. package/dist/ImageBillboard/index.js +3 -1
  16. package/dist/Input/Input.css.js +0 -5
  17. package/dist/MainHTML/index.js +1 -1
  18. package/dist/Modal/Modal.d.ts +3 -0
  19. package/dist/Modal/Modal.js +97 -0
  20. package/dist/Modal/contextApi/store.d.ts +10 -0
  21. package/dist/Modal/contextApi/store.js +55 -0
  22. package/dist/Modal/index.d.ts +2 -3
  23. package/dist/Modal/index.js +7 -94
  24. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.d.ts +1 -0
  25. package/dist/NavigationMenu/AxosAdvisor/NavBar.css.js +3 -1
  26. package/dist/NavigationMenu/AxosAdvisor/SubNavBar.js +0 -19
  27. package/dist/NavigationMenu/AxosAdvisor/index.js +102 -74
  28. package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +40 -40
  29. package/dist/SecondaryFooter/index.js +2 -1
  30. package/dist/SetContainer/SetContainer.js +31 -1
  31. package/dist/Table/Table.d.ts +4 -6
  32. package/dist/VideoTile/VideoTile.js +2 -3
  33. package/dist/assets/FaqAccordion/FaqAccordion.css +2 -2
  34. package/dist/assets/Forms/Forms.css +10 -4
  35. package/dist/assets/IconBillboard/IconBillboard.css +1 -1
  36. package/dist/assets/ImageBillboard/ImageBillboard.css +8 -11
  37. package/dist/assets/Input/Input.css +0 -3
  38. package/dist/assets/Modal/Modal.css +3 -3
  39. package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css +4 -0
  40. package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +82 -82
  41. package/dist/assets/SecondaryFooter/SecondaryFooter.css +0 -2
  42. package/dist/assets/Table/Table.css +2 -2
  43. package/dist/assets/VideoTile/VideoTile.css +1 -12
  44. package/dist/assets/globals.css +1 -0
  45. package/dist/main.js +19 -3
  46. package/dist/utils/allowedAxosDomains.d.ts +2 -0
  47. package/dist/utils/allowedAxosDomains.js +40 -0
  48. package/dist/utils/index.d.ts +2 -0
  49. package/dist/utils/index.js +10 -1
  50. package/dist/utils/validateExternalLinks.d.ts +5 -0
  51. package/dist/utils/validateExternalLinks.js +32 -0
  52. package/package.json +4 -2
@@ -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 | undefined;
20
+ href: string;
21
21
  id: string | undefined;
22
22
  target: string;
23
- onClick: (() => void) | undefined;
23
+ onClick: (e: React.MouseEvent<Element, MouseEvent>) => void;
24
24
  }, HTMLElement>;
@@ -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
  );
@@ -10,6 +10,7 @@ export interface CallToActionBarInterface {
10
10
  headline: string | ReactNode;
11
11
  bodyCopy: string | ReactNode;
12
12
  callToActionRow: ChevronProps[];
13
+ internalName?: string;
13
14
  }
14
15
  export interface ImageInterface {
15
16
  src: string;
@@ -18,7 +18,8 @@ const CallToActionBar = ({
18
18
  headline,
19
19
  bodyCopy,
20
20
  callToActionRow,
21
- id
21
+ id,
22
+ internalName
22
23
  }) => {
23
24
  const [stickyTop, setstickyTop] = useState(0);
24
25
  const [imageSize, setImageSize] = useState({ width: "0px", height: "0px" });
@@ -60,6 +61,7 @@ const CallToActionBar = ({
60
61
  return /* @__PURE__ */ jsx(
61
62
  "section",
62
63
  {
64
+ id: internalName == null ? void 0 : internalName.replace(/ /g, "-"),
63
65
  className: `${cta} ${getBannerSizeClassName(
64
66
  banner_size,
65
67
  image_overlap
@@ -1,11 +1,52 @@
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
+ import "../NavigationMenu/AxosAdvisor/NavBar.module.js";
42
+ /* empty css */
43
+ import "../NavigationMenu/AxosFiduciary/NavBar.module.js";
44
+ /* empty css */
45
+ import "../Table/Table.css.js";
46
+ /* empty css */
47
+ import "next/script.js";
48
+ /* empty css */
49
+ /* empty css */
9
50
  const Chevron = ({
10
51
  children,
11
52
  variant,
@@ -14,13 +55,26 @@ const Chevron = ({
14
55
  className
15
56
  }) => {
16
57
  variant = getVariant(variant);
58
+ const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
59
+ const onClick = (e) => {
60
+ if (targetUrl) {
61
+ const external_link = validateLink(targetUrl);
62
+ if (external_link) {
63
+ e.nativeEvent.stopImmediatePropagation();
64
+ e.preventDefault();
65
+ setOpenModal(external_link);
66
+ setTargetLinkUrl(targetUrl);
67
+ }
68
+ }
69
+ };
17
70
  return /* @__PURE__ */ jsxs("span", { className: `sc__btn ${chevron_wrapper}`, children: [
18
71
  /* @__PURE__ */ jsx(
19
72
  "a",
20
73
  {
21
74
  id,
22
- href: targetUrl,
75
+ href: findMoreAxosDomains(targetUrl),
23
76
  className: `${chevron({ variant })} ${className ? className : ""}`,
77
+ onClick,
24
78
  children
25
79
  }
26
80
  ),
@@ -88,3 +88,4 @@ export declare const disclosureForm: import("@vanilla-extract/recipes").RuntimeF
88
88
  };
89
89
  };
90
90
  }>;
91
+ export declare const form: string;
@@ -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,
@@ -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,
@@ -1,16 +1,75 @@
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
+ import "../NavigationMenu/AxosAdvisor/NavBar.module.js";
40
+ /* empty css */
41
+ import "../NavigationMenu/AxosFiduciary/NavBar.module.js";
42
+ /* empty css */
43
+ import "../Table/Table.css.js";
44
+ /* empty css */
45
+ import "next/script.js";
46
+ /* empty css */
47
+ /* empty css */
2
48
  const Hyperlink = ({
3
49
  children,
4
50
  targetUrl,
5
51
  id,
6
52
  className
7
53
  }) => {
54
+ const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
55
+ const onClick = (e) => {
56
+ if (targetUrl) {
57
+ const external_link = validateLink(targetUrl);
58
+ if (external_link) {
59
+ e.nativeEvent.stopImmediatePropagation();
60
+ e.preventDefault();
61
+ setOpenModal(external_link);
62
+ setTargetLinkUrl(targetUrl);
63
+ }
64
+ }
65
+ };
8
66
  return /* @__PURE__ */ jsx(
9
67
  "a",
10
68
  {
11
69
  id: id ? id : "",
12
- href: targetUrl,
70
+ href: findMoreAxosDomains(targetUrl),
13
71
  className: `${className ? className : ""}`,
72
+ onClick,
14
73
  children
15
74
  }
16
75
  );
@@ -127,3 +127,5 @@ export declare const single_container: string;
127
127
  export declare const two_inline: string;
128
128
  export declare const three_inline: string;
129
129
  export declare const section_text_ImageBillboard: string;
130
+ export declare const billboard_image: string;
131
+ export declare const mh_330: string;
@@ -17,16 +17,20 @@ var single_container = "_1m7m2ao";
17
17
  var two_inline = "_1m7m2ap";
18
18
  var three_inline = "_1m7m2aq";
19
19
  var section_text_ImageBillboard = "_1m7m2ar";
20
+ var billboard_image = "_1m7m2as";
21
+ var mh_330 = "_1m7m2at";
20
22
  export {
21
23
  billboard,
22
24
  billboard_body,
23
25
  billboard_container,
24
26
  billboard_ctas,
25
27
  billboard_header_section,
28
+ billboard_image,
26
29
  billboard_img,
27
30
  body,
28
31
  header,
29
32
  imagePlacement,
33
+ mh_330,
30
34
  section_text_ImageBillboard,
31
35
  single_container,
32
36
  supertag,
@@ -5,13 +5,12 @@ import SvgCheckIcon from "../icons/CheckIcon/index.js";
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  import { getVariant } from "../utils/getVariant.js";
8
- import clsx from "clsx";
9
8
  import { Button } from "../Button/Button.js";
10
9
  import "../Button/Button.css.js";
11
10
  import "react";
12
11
  import "react-use";
13
12
  import { inline_container } from "../SetContainer/SetContainer.css.js";
14
- import { section_text_ImageBillboard, header, billboard, billboard_container, billboard_img, body, billboard_body, billboard_header_section, supertag, billboard_ctas } from "./ImageBillboard.css.js";
13
+ import { section_text_ImageBillboard, header, billboard, billboard_container, body, billboard_body, billboard_header_section, supertag, billboard_ctas } from "./ImageBillboard.css.js";
15
14
  const ImageBillboardSet = ({
16
15
  id,
17
16
  variant,
@@ -51,14 +50,7 @@ const ImageBillboardSet = ({
51
50
  ${billboard({ variant: billboard_variant })} ${inline ? "" : billboard_container}
52
51
  rounded flex ${inline ? "flex_col" : "flex_row"} ${bordered ? "bordered" : ""} ${imagePlacement.toLowerCase() === "left" && !inline ? "reversed" : ""}`,
53
52
  children: [
54
- /* @__PURE__ */ jsx("div", { className: "flex", children: /* @__PURE__ */ jsx(
55
- "img",
56
- {
57
- src: image == null ? void 0 : image.src,
58
- className: clsx("img_fluid", billboard_img),
59
- alt: image.alt
60
- }
61
- ) }),
53
+ /* @__PURE__ */ jsx("div", { "background-image": image.src, "aria-label": image.alt }),
62
54
  /* @__PURE__ */ jsxs("div", { className: body, children: [
63
55
  /* @__PURE__ */ jsxs("div", { className: billboard_body, children: [
64
56
  /* @__PURE__ */ jsxs("div", { className: `${billboard_header_section}`, children: [
@@ -10,7 +10,7 @@ import SvgCheckIcon from "../icons/CheckIcon/index.js";
10
10
  /* empty css */
11
11
  import { getVariant } from "../utils/getVariant.js";
12
12
  import clsx from "clsx";
13
- import { billboard, imagePlacement, billboard_img, body, billboard_body, billboard_header_section, supertag, header, billboard_ctas } from "./ImageBillboard.css.js";
13
+ import { billboard, imagePlacement, billboard_img, billboard_image, mh_330, body, billboard_body, billboard_header_section, supertag, header, billboard_ctas } from "./ImageBillboard.css.js";
14
14
  const ImageBillboard = ({
15
15
  id,
16
16
  variant,
@@ -41,7 +41,14 @@ const ImageBillboard = ({
41
41
  imagePlacement({ position: position == null ? void 0 : position.toLowerCase() })
42
42
  ),
43
43
  children: [
44
- /* @__PURE__ */ jsx("div", { className: `${billboard_img} flex`, children: /* @__PURE__ */ jsx("img", { src: image.src, className: "img_fluid", alt: image.alt }) }),
44
+ /* @__PURE__ */ jsx("div", { className: `${billboard_img} flex`, children: /* @__PURE__ */ jsx(
45
+ "img",
46
+ {
47
+ src: image.src,
48
+ className: `${billboard_image} ${set ? mh_330 : null}`,
49
+ alt: image.alt
50
+ }
51
+ ) }),
45
52
  /* @__PURE__ */ jsxs("div", { className: body, children: [
46
53
  /* @__PURE__ */ jsxs("div", { className: billboard_body, children: [
47
54
  /* @__PURE__ */ jsxs("div", { className: `${billboard_header_section}`, children: [
@@ -71,7 +78,7 @@ const ImageBillboard = ({
71
78
  /* @__PURE__ */ jsx("span", { children: copy })
72
79
  ] }, id2)) })
73
80
  ] }),
74
- callToActionRow && /* @__PURE__ */ jsx(
81
+ callToActionRow.length > 0 && /* @__PURE__ */ jsx(
75
82
  "div",
76
83
  {
77
84
  className: clsx(
@@ -1,5 +1,5 @@
1
1
  import { ImageBillboardSet } from "./ImageBillboard.js";
2
- import { billboard, billboard_body, billboard_container, billboard_ctas, billboard_header_section, billboard_img, body, header, imagePlacement, section_text_ImageBillboard, single_container, supertag, three_inline, two_inline } from "./ImageBillboard.css.js";
2
+ import { billboard, billboard_body, billboard_container, billboard_ctas, billboard_header_section, billboard_image, billboard_img, body, header, imagePlacement, mh_330, section_text_ImageBillboard, single_container, supertag, three_inline, two_inline } from "./ImageBillboard.css.js";
3
3
  import { ImageBillboard } from "./ImageBillboardSet.js";
4
4
  export {
5
5
  ImageBillboard,
@@ -9,10 +9,12 @@ export {
9
9
  billboard_container,
10
10
  billboard_ctas,
11
11
  billboard_header_section,
12
+ billboard_image,
12
13
  billboard_img,
13
14
  body,
14
15
  header,
15
16
  imagePlacement,
17
+ mh_330,
16
18
  section_text_ImageBillboard,
17
19
  single_container,
18
20
  supertag,
@@ -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: [] });
@@ -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("main", { className: theme === "Premier" ? premierTheme : axosTheme, children });
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,3 @@
1
+ import { FC } from "react";
2
+ import { ModalProps } from "./Modal.interface";
3
+ export declare const Modal: FC<ModalProps>;
@@ -0,0 +1,97 @@
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
+ import "../NavigationMenu/AxosAdvisor/NavBar.module.js";
37
+ /* empty css */
38
+ import "../NavigationMenu/AxosFiduciary/NavBar.module.js";
39
+ /* empty css */
40
+ import "../Table/Table.css.js";
41
+ /* empty css */
42
+ import "next/script.js";
43
+ /* empty css */
44
+ /* empty css */
45
+ import { modal, modal_dialog, modal_content, modal_header, modal_title, modal_subtitle, solid, modal_body, site_link, modal_footer } from "./Modal.css.js";
46
+ const Modal = ({
47
+ headline,
48
+ bodyCopy,
49
+ body,
50
+ onAccept,
51
+ onCancel
52
+ }) => {
53
+ 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: [
54
+ /* @__PURE__ */ jsxs("div", { className: `${modal_header} text_center`, children: [
55
+ /* @__PURE__ */ jsx("h2", { className: `${modal_title} header_3`, children: headline }),
56
+ /* @__PURE__ */ jsx("p", { className: `${modal_subtitle} p_16 mb_0 push_up`, children: bodyCopy })
57
+ ] }),
58
+ /* @__PURE__ */ jsx("hr", { className: solid }),
59
+ /* @__PURE__ */ jsxs(
60
+ "div",
61
+ {
62
+ className: `${modal_body} text-center flex flex_col center middle mx_auto`,
63
+ children: [
64
+ /* @__PURE__ */ jsx("p", { className: "p_16", children: "You will now be redirected to:" }),
65
+ /* @__PURE__ */ jsx("p", { id: "insert-url", className: site_link, children: body })
66
+ ]
67
+ }
68
+ ),
69
+ /* @__PURE__ */ jsx("hr", { className: solid }),
70
+ /* @__PURE__ */ jsxs(
71
+ "div",
72
+ {
73
+ className: `${modal_footer} flex center middle push_up_24`,
74
+ style: { marginInline: "auto", width: "max-content" },
75
+ children: [
76
+ /* @__PURE__ */ jsx(Button, { color: "primary", action: onAccept, children: "Continue" }),
77
+ /* @__PURE__ */ jsx(
78
+ "a",
79
+ {
80
+ style: { textDecoration: "none", padding: "8px 48px" },
81
+ role: "button",
82
+ className: `sc__btn ${chevron({ variant: "primary" })}`,
83
+ "aria-label": "Close",
84
+ title: "Go Back",
85
+ id: "close",
86
+ onClick: onCancel,
87
+ children: "Close"
88
+ }
89
+ )
90
+ ]
91
+ }
92
+ )
93
+ ] }) }) }) });
94
+ };
95
+ export {
96
+ Modal
97
+ };
@@ -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
+ };
@@ -1,3 +1,2 @@
1
- import { FC } from "react";
2
- import { ModalProps } from "./Modal.interface";
3
- export declare const Modal: FC<ModalProps>;
1
+ export * from "./Modal";
2
+ export * from "./contextApi/store";