@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
package/dist/main.js CHANGED
@@ -16,7 +16,7 @@ import { DownloadTile } from "./DownloadTile/index.js";
16
16
  import { AccordionItem, AccordionItemContent, AccordionItemSummary, FaqAccordion } from "./FaqAccordion/index.js";
17
17
  import { footerContent, footerDisclosure, footerLink, footerParagraph, iconsContent } from "./FooterDisclosure/FooterDisclosure.css.js";
18
18
  import { FooterContent, FooterDisclosure, FooterIcons, FooterParagraph } from "./FooterDisclosure/FooterDisclosure.js";
19
- import { actions, disclosureForm, formContainer, formWrapper, headerForm, iconForm } from "./Forms/Forms.css.js";
19
+ import { actions, disclosureForm, form, formContainer, formWrapper, headerForm, iconForm } from "./Forms/Forms.css.js";
20
20
  import { RenderWebForm, renderSwitch } from "./Forms/RenderForm.js";
21
21
  import { SalesforceFieldsForm, SalesforceSchema } from "./Forms/SalesforceFieldsForm.js";
22
22
  import { ScheduleCall } from "./Forms/ScheduleCall.js";
@@ -25,11 +25,12 @@ import { IconBillboard } from "./IconBillboard/IconBillboard.js";
25
25
  import { billboard_icon, buttons, containerIconBillboard, content, headerIconBillboard, header_section, layout, list, listItem, section_container, section_text, title } from "./IconBillboard/IconBillboard.css.js";
26
26
  import { IconBillboardSet } from "./IconBillboard/IconBillboardSet.js";
27
27
  import { ImageBillboardSet } from "./ImageBillboard/ImageBillboard.js";
28
- 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/ImageBillboard.css.js";
28
+ 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/ImageBillboard.css.js";
29
29
  import { ImageBillboard } from "./ImageBillboard/ImageBillboardSet.js";
30
30
  import { Input } from "./Input/index.js";
31
31
  import { MainHTML } from "./MainHTML/index.js";
32
- import { Modal } from "./Modal/index.js";
32
+ import { Modal } from "./Modal/Modal.js";
33
+ import { GlobalContext, GlobalContextProvider, useGlobalContext } from "./Modal/contextApi/store.js";
33
34
  import { default as default2 } from "./NavigationMenu/AxosAdvisor/index.js";
34
35
  import { default as default3 } from "./NavigationMenu/AxosFiduciary/index.js";
35
36
  import { SecondaryFooter } from "./SecondaryFooter/index.js";
@@ -46,7 +47,9 @@ import { VideoWrapper } from "./VideoWrapper/index.js";
46
47
  import { axosTheme, vars } from "./themes/axos.css.js";
47
48
  import { premierTheme } from "./themes/premier.css.js";
48
49
  import { associatedEmail } from "./utils/EverestValidity.js";
50
+ import { findMoreAxosDomains, isAllowedUrl } from "./utils/allowedAxosDomains.js";
49
51
  import { getVariant, getVariantWithRegex } from "./utils/getVariant.js";
52
+ import { isAbsoluteUrl, isEmailLink, isPhoneLink, shortUrl, validateLink } from "./utils/validateExternalLinks.js";
50
53
  export {
51
54
  Accordion,
52
55
  AccordionCtx,
@@ -71,6 +74,8 @@ export {
71
74
  FooterDisclosure,
72
75
  FooterIcons,
73
76
  FooterParagraph,
77
+ GlobalContext,
78
+ GlobalContextProvider,
74
79
  GoBackButton,
75
80
  HeroBanner,
76
81
  IconBillboard,
@@ -109,6 +114,7 @@ export {
109
114
  billboard_ctas,
110
115
  billboard_header_section,
111
116
  billboard_icon,
117
+ billboard_image,
112
118
  billboard_img,
113
119
  body,
114
120
  bodyAccordion,
@@ -119,10 +125,12 @@ export {
119
125
  content,
120
126
  disclosureForm,
121
127
  expand_icon,
128
+ findMoreAxosDomains,
122
129
  footerContent,
123
130
  footerDisclosure,
124
131
  footerLink,
125
132
  footerParagraph,
133
+ form,
126
134
  formContainer,
127
135
  formWrapper,
128
136
  getVariant,
@@ -144,17 +152,23 @@ export {
144
152
  iconsContent,
145
153
  imagePlacement,
146
154
  inline_container,
155
+ isAbsoluteUrl,
156
+ isAllowedUrl,
157
+ isEmailLink,
158
+ isPhoneLink,
147
159
  item,
148
160
  layout,
149
161
  list,
150
162
  listItem,
151
163
  mb_8,
164
+ mh_330,
152
165
  paragraph,
153
166
  premierTheme,
154
167
  renderSwitch,
155
168
  section_container,
156
169
  section_text,
157
170
  section_text_ImageBillboard,
171
+ shortUrl,
158
172
  show,
159
173
  single_container,
160
174
  supertag,
@@ -175,6 +189,8 @@ export {
175
189
  transcript_container,
176
190
  transcript_content,
177
191
  two_inline,
192
+ useGlobalContext,
193
+ validateLink,
178
194
  vars,
179
195
  video_container,
180
196
  video_title,
@@ -0,0 +1,2 @@
1
+ export declare const isAllowedUrl: (url: string) => boolean;
2
+ export declare const findMoreAxosDomains: (url: string) => string;
@@ -0,0 +1,40 @@
1
+ const moreDomains = {
2
+ "{AXOS}": "www.axos.com",
3
+ "{AXOSBANK}": "www.axosbank.com",
4
+ "{AXOSCLEARING}": "https://axosclearing.com/",
5
+ "{AAS}": "www.axosadvisorservices.com",
6
+ "{NATIONWIDE}": "www.nationwide.axosbank.com",
7
+ // '{ENROLLMENT}': process.env.NEXT_PUBLIC_ENROLLMENT_URL as string,
8
+ // '{SECENROLLMENT}': process.env.NEXT_PUBLIC_ENROLLMENT2_URL as string,
9
+ "{ASSETSURL}": "https://assets.ctfassets.net",
10
+ "{IMAGEASSETSURL}": "https://images.ctfassets.net",
11
+ "{ONLINEBANKING}": "https://onlinebanking.uat.axsobank.com",
12
+ "{UFBDIRECT": "www.ufbdirect.com"
13
+ };
14
+ const isAllowedUrl = (url) => {
15
+ const uri = new URL(url, location.href);
16
+ for (const key in moreDomains) {
17
+ const urlToCompare = new URL(moreDomains[key], location.href);
18
+ if (uri.hostname === urlToCompare.hostname)
19
+ return true;
20
+ }
21
+ return false;
22
+ };
23
+ const findMoreAxosDomains = (url) => {
24
+ const regexSearching = /\{[a-xA-Z]+\}/;
25
+ if (regexSearching.test(url)) {
26
+ const domainToReplace = url.match(regexSearching);
27
+ if (Array.isArray(domainToReplace)) {
28
+ const newURL = url.replace(
29
+ regexSearching,
30
+ moreDomains[domainToReplace[0]]
31
+ );
32
+ return newURL;
33
+ }
34
+ }
35
+ return url;
36
+ };
37
+ export {
38
+ findMoreAxosDomains,
39
+ isAllowedUrl
40
+ };
@@ -1,3 +1,5 @@
1
1
  export * from "./EverestValidity";
2
+ export * from "./allowedAxosDomains";
2
3
  export * from "./getVariant";
4
+ export * from "./validateExternalLinks";
3
5
  export * from "./variant.types";
@@ -1,7 +1,16 @@
1
1
  import { associatedEmail } from "./EverestValidity.js";
2
+ import { findMoreAxosDomains, isAllowedUrl } from "./allowedAxosDomains.js";
2
3
  import { getVariant, getVariantWithRegex } from "./getVariant.js";
4
+ import { isAbsoluteUrl, isEmailLink, isPhoneLink, shortUrl, validateLink } from "./validateExternalLinks.js";
3
5
  export {
4
6
  associatedEmail,
7
+ findMoreAxosDomains,
5
8
  getVariant,
6
- getVariantWithRegex
9
+ getVariantWithRegex,
10
+ isAbsoluteUrl,
11
+ isAllowedUrl,
12
+ isEmailLink,
13
+ isPhoneLink,
14
+ shortUrl,
15
+ validateLink
7
16
  };
@@ -0,0 +1,5 @@
1
+ export declare const isAbsoluteUrl: (url: string) => boolean;
2
+ export declare const shortUrl: (url: string) => string;
3
+ export declare const isEmailLink: (url: string) => boolean;
4
+ export declare const isPhoneLink: (url: string) => boolean;
5
+ export declare const validateLink: (url: string) => boolean;
@@ -0,0 +1,32 @@
1
+ import { isAllowedUrl } from "./allowedAxosDomains.js";
2
+ const isAbsoluteUrl = (url) => {
3
+ const RgExp = new RegExp("^(?:[a-z]+:)?//", "i");
4
+ return RgExp.test(url);
5
+ };
6
+ const shortUrl = (url) => {
7
+ const uri = new URL(url);
8
+ return uri.hostname;
9
+ };
10
+ const isEmailLink = (url) => {
11
+ const uri = new URL(url, location.href);
12
+ return uri.protocol == "mailto:";
13
+ };
14
+ const isPhoneLink = (url) => {
15
+ const uri = new URL(url, location.href);
16
+ return uri.protocol === "tel:";
17
+ };
18
+ const validateLink = (url) => {
19
+ const newUrl = new URL(url, location.href);
20
+ let openModal = false;
21
+ if (isAbsoluteUrl(newUrl.href) && !isEmailLink(newUrl.href) && !isPhoneLink(newUrl.href) && !isAllowedUrl(newUrl.href)) {
22
+ openModal = true;
23
+ }
24
+ return openModal;
25
+ };
26
+ export {
27
+ isAbsoluteUrl,
28
+ isEmailLink,
29
+ isPhoneLink,
30
+ shortUrl,
31
+ validateLink
32
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@axos-web-dev/shared-components",
3
3
  "description": "Axos shared components library for web.",
4
- "version": "0.0.12",
4
+ "version": "0.0.14",
5
5
  "type": "module",
6
6
  "module": "dist/main.js",
7
7
  "types": "dist/main.d.ts",
@@ -47,6 +47,7 @@
47
47
  "@vanilla-extract/css-utils": "^0.1.3",
48
48
  "@vanilla-extract/recipes": "^0.5.1",
49
49
  "@vanilla-extract/vite-plugin": "^4.0.3",
50
+ "next": "^14.1.4",
50
51
  "react": "^18.2.0",
51
52
  "react-dom": "^18.2.0"
52
53
  },
@@ -93,7 +94,8 @@
93
94
  "vite-plugin-dts": "^3.7.3",
94
95
  "vite-plugin-lib-inject-css": "^1.3.0",
95
96
  "vite-plugin-setting-css-module": "^1.1.4",
96
- "vite-tsconfig-paths": "^4.3.1"
97
+ "vite-tsconfig-paths": "^4.3.1",
98
+ "next": "^14.1.4"
97
99
  },
98
100
  "main": "index.js",
99
101
  "directories": {