@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.
- package/dist/Button/Button.d.ts +2 -2
- package/dist/Button/Button.js +18 -2
- package/dist/CallToActionBar/CallToActionBar.interface.d.ts +1 -0
- package/dist/CallToActionBar/index.js +3 -1
- package/dist/Chevron/index.js +55 -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 +60 -1
- package/dist/ImageBillboard/ImageBillboard.css.d.ts +2 -0
- package/dist/ImageBillboard/ImageBillboard.css.js +4 -0
- package/dist/ImageBillboard/ImageBillboard.js +2 -10
- package/dist/ImageBillboard/ImageBillboardSet.js +10 -3
- package/dist/ImageBillboard/index.js +3 -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 +97 -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 +31 -1
- package/dist/Table/Table.d.ts +4 -6
- package/dist/VideoTile/VideoTile.js +2 -3
- package/dist/assets/FaqAccordion/FaqAccordion.css +2 -2
- package/dist/assets/Forms/Forms.css +10 -4
- package/dist/assets/IconBillboard/IconBillboard.css +1 -1
- package/dist/assets/ImageBillboard/ImageBillboard.css +8 -11
- 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/assets/VideoTile/VideoTile.css +1 -12
- package/dist/assets/globals.css +1 -0
- package/dist/main.js +19 -3
- 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/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/
|
|
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,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
|
+
};
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -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.
|
|
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": {
|