@axos-web-dev/shared-components 1.0.77-patch.61 → 1.0.77-patch.63

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.
@@ -0,0 +1,327 @@
1
+ "use client";
2
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
+ import { zodResolver } from "@hookform/resolvers/zod";
4
+ import { Button } from "../Button/Button.js";
5
+ import "../Button/Button.css.js";
6
+ import { useEffect } from "react";
7
+ import "react-use";
8
+ import "../Input/Checkbox.js";
9
+ import "../Input/CurrencyInput.js";
10
+ import { Dropdown } from "../Input/Dropdown.js";
11
+ import "../Input/Dropdown.css.js";
12
+ import { Input } from "../Input/Input.js";
13
+ import "../Input/Input.css.js";
14
+ import "../Input/InputAmount.js";
15
+ import { InputPhone } from "../Input/InputPhone.js";
16
+ import { InputTextArea } from "../Input/InputTextArea.js";
17
+ import "../Input/DownPaymentInput.js";
18
+ import "../Input/RadioButton.js";
19
+ import { LoadingIndicator } from "../LoadingIndicator/index.js";
20
+ import "../icons/ArrowIcon/ArrowIcon.css.js";
21
+ import SvgAxosX from "../icons/AxosX/index.js";
22
+ import SvgComponent from "../icons/AxosX/Blue.js";
23
+ import "../icons/CheckIcon/CheckIcon.css.js";
24
+ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/DownloadIcon/DownloadIcon.css';import '../assets/themes/victorie.css';import '../assets/themes/ufb.css';import '../assets/themes/premier.css';import '../assets/themes/axos.css';/* empty css */
25
+ /* empty css */
26
+ /* empty css */
27
+ /* empty css */
28
+ /* empty css */
29
+ /* empty css */
30
+ import "../utils/allowedAxosDomains.js";
31
+ import * as z from "zod";
32
+ import { associatedEmail } from "../utils/EverestValidity.js";
33
+ import { getVariant } from "../utils/getVariant.js";
34
+ import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
35
+ import clsx from "clsx";
36
+ import { useForm, FormProvider } from "react-hook-form";
37
+ import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
38
+ import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
39
+ import { SalesforceSchema } from "./SalesforceFieldsForm.js";
40
+ const HOMEOWNER_VALUE = "I am a homeowner.";
41
+ const BROKER_VALUE = "I am a broker.";
42
+ const USER_TYPE_PARAM = "user_type";
43
+ function getInitialUserTypeFromQuery() {
44
+ if (typeof window === "undefined") return "";
45
+ const params = new URLSearchParams(window.location.search);
46
+ const value = params.get(USER_TYPE_PARAM)?.toLowerCase();
47
+ if (value === "homeowner") return HOMEOWNER_VALUE;
48
+ if (value === "broker") return BROKER_VALUE;
49
+ return "";
50
+ }
51
+ const ConstructionLendingDynamic = ({
52
+ icon = false,
53
+ children,
54
+ onSubmit = (values) => {
55
+ console.log(values);
56
+ },
57
+ disclosure,
58
+ variant: fullVariant = "primary",
59
+ headline,
60
+ callToAction,
61
+ validateEmail,
62
+ onValidate,
63
+ description,
64
+ id
65
+ }) => {
66
+ const cachedEmailValidator = useCachedEmailValidator(validateEmail);
67
+ const schema = z.object({
68
+ User_Type__c: z.string({
69
+ required_error: "Please select whether you are a homeowner or a broker.",
70
+ invalid_type_error: "Invalid selection"
71
+ }).min(1, {
72
+ message: "Please select whether you are a homeowner or a broker."
73
+ }),
74
+ first_name: z.string({
75
+ required_error: "First name is required",
76
+ invalid_type_error: "Invalid first name"
77
+ }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
78
+ message: "Invalid first name"
79
+ }).trim().min(1, { message: "First Name is required." }),
80
+ last_name: z.string({
81
+ required_error: "Last name is required",
82
+ invalid_type_error: "Invalid last name"
83
+ }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
84
+ message: "Invalid last name"
85
+ }).trim().min(1, { message: "Last Name is required." }),
86
+ email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
87
+ phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
88
+ const removeDashes = val.replace(/-/gi, "");
89
+ if (removeDashes.length !== 10) {
90
+ ctx.addIssue({
91
+ code: z.ZodIssueCode.custom,
92
+ message: "Phone must have at least 10 and no more than 10 characters."
93
+ });
94
+ return z.NEVER;
95
+ }
96
+ if (removeDashes.endsWith("00000") || removeDashes.startsWith("999") || removeDashes.length === 10 && /^[01]/.test(removeDashes)) {
97
+ ctx.addIssue({
98
+ code: z.ZodIssueCode.custom,
99
+ message: "Invalid phone number."
100
+ });
101
+ return z.NEVER;
102
+ }
103
+ return removeDashes;
104
+ }),
105
+ description: z.string().trim().optional().or(z.literal("")),
106
+ Company_NMLS_ID__c: z.string().min(6).max(7).optional().or(z.literal(""))
107
+ });
108
+ const gen_schema = schema.merge(SalesforceSchema).merge(honeyPotSchema).superRefine((data, ctx) => {
109
+ if (!isValidHoneyPot(data)) {
110
+ ctx.addIssue({
111
+ code: z.ZodIssueCode.custom,
112
+ message: "fields are not valid."
113
+ });
114
+ }
115
+ if (data.User_Type__c === BROKER_VALUE) {
116
+ const nmls = data.Company_NMLS_ID__c ?? "";
117
+ if (!nmls || nmls.length < 6 || nmls.length > 7) {
118
+ ctx.addIssue({
119
+ code: z.ZodIssueCode.custom,
120
+ message: "NMLS ID is required for brokers and must be 6-7 characters.",
121
+ path: ["Company_NMLS_ID__c"]
122
+ });
123
+ }
124
+ }
125
+ });
126
+ const methods = useForm({
127
+ resolver: zodResolver(gen_schema, {
128
+ async: true
129
+ }),
130
+ mode: "all",
131
+ defaultValues: {
132
+ User_Type__c: "",
133
+ email: ""
134
+ },
135
+ shouldUnregister: true
136
+ });
137
+ const {
138
+ handleSubmit,
139
+ register,
140
+ watch,
141
+ setValue,
142
+ formState: { errors, isValid, isSubmitting }
143
+ } = methods;
144
+ useEffect(() => {
145
+ const initialUserType = getInitialUserTypeFromQuery();
146
+ if (initialUserType) {
147
+ setValue("User_Type__c", initialUserType, { shouldValidate: true });
148
+ }
149
+ }, [setValue]);
150
+ useEffect(() => {
151
+ const syncUserTypeFromUrl = () => {
152
+ const userType2 = getInitialUserTypeFromQuery();
153
+ if (userType2) {
154
+ setValue("User_Type__c", userType2, { shouldValidate: true });
155
+ }
156
+ };
157
+ window.addEventListener("popstate", syncUserTypeFromUrl);
158
+ return () => window.removeEventListener("popstate", syncUserTypeFromUrl);
159
+ }, [setValue]);
160
+ const userType = watch("User_Type__c");
161
+ const isBroker = userType === BROKER_VALUE;
162
+ const isExpanded = userType === HOMEOWNER_VALUE || userType === BROKER_VALUE;
163
+ const submitForm = async (data) => {
164
+ await onSubmit(data);
165
+ };
166
+ const variant = getVariant(fullVariant);
167
+ return /* @__PURE__ */ jsx("section", { id, className: clsx(formContainer({ variant })), children: /* @__PURE__ */ jsx("div", { className: clsx("containment"), children: /* @__PURE__ */ jsxs(FormProvider, { ...methods, children: [
168
+ icon && /* @__PURE__ */ jsx("div", { className: clsx("text_center", iconForm), children: ["primary", "secondary"].includes(variant) ? /* @__PURE__ */ jsx(SvgComponent, {}) : /* @__PURE__ */ jsx(SvgAxosX, {}) }),
169
+ /* @__PURE__ */ jsxs("div", { className: `${headerContainer} text_center`, children: [
170
+ /* @__PURE__ */ jsx("h2", { className: clsx("header_2", headerForm({ variant })), children: headline }),
171
+ description && /* @__PURE__ */ jsx(
172
+ "div",
173
+ {
174
+ className: clsx(
175
+ "text_center",
176
+ form,
177
+ descriptionField({ variant })
178
+ ),
179
+ children: description
180
+ }
181
+ )
182
+ ] }),
183
+ /* @__PURE__ */ jsxs(
184
+ "form",
185
+ {
186
+ className: form,
187
+ onSubmit: async (e) => {
188
+ onValidate && onValidate(e);
189
+ await handleSubmit(submitForm)(e);
190
+ e.preventDefault();
191
+ },
192
+ children: [
193
+ /* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant })), children: [
194
+ /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsxs(
195
+ Dropdown,
196
+ {
197
+ id: "User_Type__c",
198
+ ...register("User_Type__c", { required: true }),
199
+ label: "Are you a homeowner or a broker?",
200
+ sizes: "medium",
201
+ required: true,
202
+ error: !!errors.User_Type__c,
203
+ helperText: errors.User_Type__c?.message,
204
+ variant,
205
+ children: [
206
+ /* @__PURE__ */ jsx("option", { value: "", disabled: isExpanded, children: "Select Option" }),
207
+ /* @__PURE__ */ jsx("option", { value: HOMEOWNER_VALUE, children: HOMEOWNER_VALUE }),
208
+ /* @__PURE__ */ jsx("option", { value: BROKER_VALUE, children: BROKER_VALUE })
209
+ ]
210
+ }
211
+ ) }),
212
+ isExpanded && /* @__PURE__ */ jsxs(Fragment, { children: [
213
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
214
+ Input,
215
+ {
216
+ id: "first_name",
217
+ ...register("first_name", { required: true }),
218
+ label: "First Name",
219
+ sizes: "medium",
220
+ required: true,
221
+ error: !!errors.first_name,
222
+ helperText: errors.first_name?.message,
223
+ variant
224
+ }
225
+ ) }),
226
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
227
+ Input,
228
+ {
229
+ id: "last_name",
230
+ ...register("last_name", { required: true }),
231
+ label: "Last Name",
232
+ sizes: "medium",
233
+ required: true,
234
+ error: !!errors.last_name,
235
+ helperText: errors.last_name?.message,
236
+ variant
237
+ }
238
+ ) }),
239
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
240
+ Input,
241
+ {
242
+ id: "email",
243
+ ...register("email", {
244
+ required: true,
245
+ validate: {
246
+ isValid: associatedEmail
247
+ }
248
+ }),
249
+ label: "Email",
250
+ sizes: "medium",
251
+ required: true,
252
+ error: !!errors.email,
253
+ helperText: errors.email?.message,
254
+ variant
255
+ }
256
+ ) }),
257
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
258
+ InputPhone,
259
+ {
260
+ id: "phone",
261
+ ...register("phone", {
262
+ required: true,
263
+ maxLength: 12
264
+ }),
265
+ label: "Phone",
266
+ sizes: "medium",
267
+ required: true,
268
+ error: !!errors.phone,
269
+ helperText: errors.phone?.message,
270
+ variant
271
+ }
272
+ ) }),
273
+ /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsx(
274
+ InputTextArea,
275
+ {
276
+ id: "description",
277
+ ...register("description"),
278
+ label: "Message",
279
+ sizes: "medium",
280
+ error: !!errors.description,
281
+ helperText: errors.description?.message,
282
+ variant,
283
+ rows: 2
284
+ }
285
+ ) }),
286
+ isBroker && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
287
+ Input,
288
+ {
289
+ id: "Company_NMLS_ID__c",
290
+ ...register("Company_NMLS_ID__c"),
291
+ label: "Company NMLS ID",
292
+ sizes: "medium",
293
+ required: true,
294
+ error: !!errors.Company_NMLS_ID__c,
295
+ helperText: errors.Company_NMLS_ID__c?.message,
296
+ variant
297
+ }
298
+ ) }),
299
+ /* @__PURE__ */ jsx(HoneyPot, { register, variant })
300
+ ] })
301
+ ] }),
302
+ children,
303
+ /* @__PURE__ */ jsx("div", { className: disclosureForm({ variant }), children: disclosure }),
304
+ /* @__PURE__ */ jsx("div", { className: actions, children: isSubmitting ? /* @__PURE__ */ jsx(
305
+ LoadingIndicator,
306
+ {
307
+ style: { marginInline: "auto" },
308
+ variant
309
+ }
310
+ ) : /* @__PURE__ */ jsx(
311
+ Button,
312
+ {
313
+ color: getVariant(callToAction?.variant),
314
+ as: "button",
315
+ type: "submit",
316
+ disabled: !isExpanded || !isValid || isSubmitting,
317
+ children: callToAction?.displayText
318
+ }
319
+ ) })
320
+ ]
321
+ }
322
+ )
323
+ ] }) }) }, id);
324
+ };
325
+ export {
326
+ ConstructionLendingDynamic
327
+ };
@@ -100,7 +100,7 @@ const EmailUs = ({
100
100
  e.preventDefault();
101
101
  },
102
102
  children: [
103
- /* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant, formType: "email" })), children: [
103
+ /* @__PURE__ */ jsxs("div", { className: clsx(formWrapper({ variant, formType: "emailUs" })), children: [
104
104
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
105
105
  Input,
106
106
  {
@@ -76,6 +76,9 @@ export declare const formWrapper: import('@vanilla-extract/recipes').RuntimeFn<{
76
76
  gap: number;
77
77
  gridTemplateColumns: "1fr auto !important";
78
78
  };
79
+ emailUs: {
80
+ gridTemplateColumns: "1fr !important";
81
+ };
79
82
  questionnaire: {
80
83
  display: "flex";
81
84
  flexDirection: "column";
@@ -17,45 +17,45 @@ var headerContainer = "tfms6a8";
17
17
  var axosHeader = "tfms6a9";
18
18
  var headerF = createRuntimeFn({ defaultClassName: "tfms6aa", variantClassNames: { variant: { primary: "tfms6ab", secondary: "tfms6ac", tertiary: "tfms6ad", quaternary: "tfms6ae" } }, defaultVariants: {}, compoundVariants: [] });
19
19
  var headerForm = createRuntimeFn({ defaultClassName: "tfms6af", variantClassNames: { variant: { primary: "tfms6ag", secondary: "tfms6ah", tertiary: "tfms6ai", quaternary: "tfms6aj" } }, defaultVariants: {}, compoundVariants: [] });
20
- var formWrapper = createRuntimeFn({ defaultClassName: "tfms6ak", variantClassNames: { variant: { primary: "tfms6al", secondary: "tfms6am", tertiary: "tfms6an", quaternary: "tfms6ao" }, formType: { email: "tfms6ap", questionnaire: "tfms6aq", "default": "tfms6ar" } }, defaultVariants: {}, compoundVariants: [] });
21
- var form_row = "tfms6as";
22
- var actions = "tfms6at";
23
- var disclosureForm = createRuntimeFn({ defaultClassName: "tfms6au", variantClassNames: { variant: { primary: "tfms6av", secondary: "tfms6aw", tertiary: "tfms6ax", quaternary: "tfms6ay" } }, defaultVariants: {}, compoundVariants: [] });
24
- var form = "tfms6az";
25
- var apply_now_form = "tfms6a10";
26
- var success_wrap = createRuntimeFn({ defaultClassName: "tfms6a13", variantClassNames: { variant: { primary: "tfms6a14", secondary: "tfms6a15", tertiary: "tfms6a16", quaternary: "tfms6a17" } }, defaultVariants: {}, compoundVariants: [] });
27
- var success_icon = "tfms6a18";
28
- var succes_check_mark = "tfms6a19";
29
- var success_circle = createRuntimeFn({ defaultClassName: "tfms6a1a", variantClassNames: { variant: { primary: "tfms6a1b", secondary: "tfms6a1c", tertiary: "tfms6a1d", quaternary: "tfms6a1e" } }, defaultVariants: {}, compoundVariants: [] });
30
- var descriptionField = createRuntimeFn({ defaultClassName: "tfms6a1f", variantClassNames: { variant: { primary: "tfms6a1g", secondary: "tfms6a1h", tertiary: "tfms6a1i", quaternary: "tfms6a1j" }, formType: { questionnaire: "tfms6a1k" } }, defaultVariants: {}, compoundVariants: [] });
31
- var fullRowForm = "tfms6a1l";
32
- var one_row = "tfms6a1m";
33
- var section_title = createRuntimeFn({ defaultClassName: "tfms6a1n", variantClassNames: { variant: { primary: "tfms6a1o", secondary: "tfms6a1p", tertiary: "tfms6a1q", quaternary: "tfms6a1r" } }, defaultVariants: {}, compoundVariants: [] });
34
- var checkbox_group = "tfms6a1s";
35
- var ro_input = "tfms6a1t";
36
- var pl_label = "tfms6a1u";
37
- var x_input = "tfms6a1v";
38
- var xc_input = "tfms6a1w";
39
- var fullRowSelect = "tfms6a1x";
40
- var mt2rem = "tfms6a1y";
41
- var centerSelect = "tfms6a1z";
42
- var formBtns = "tfms6a20";
43
- var modalCheckboxContainer = "tfms6a21";
44
- var threeColRow = "tfms6a22";
45
- var mt1Rem = "tfms6a23";
46
- var mw24 = "tfms6a24";
47
- var modalMobile = "tfms6a25";
48
- var resposiveLabel = "tfms6a26";
49
- var dropdown = "tfms6a27";
50
- var dynPH = "tfms6a28";
51
- var na_cursor = "tfms6a29";
52
- var show_options = "tfms6a2a";
53
- var hide_options = "tfms6a2b";
54
- var back_btn_apply_now = "tfms6a2c";
55
- var iconbillboards_option_apply_now = "tfms6a2d";
56
- var form_nav_apply_now = "tfms6a2e";
57
- var step_title_apply_now = "tfms6a2f";
58
- var email_only_btn = "tfms6a2g";
20
+ var formWrapper = createRuntimeFn({ defaultClassName: "tfms6ak", variantClassNames: { variant: { primary: "tfms6al", secondary: "tfms6am", tertiary: "tfms6an", quaternary: "tfms6ao" }, formType: { email: "tfms6ap", emailUs: "tfms6aq", questionnaire: "tfms6ar", "default": "tfms6as" } }, defaultVariants: {}, compoundVariants: [] });
21
+ var form_row = "tfms6at";
22
+ var actions = "tfms6au";
23
+ var disclosureForm = createRuntimeFn({ defaultClassName: "tfms6av", variantClassNames: { variant: { primary: "tfms6aw", secondary: "tfms6ax", tertiary: "tfms6ay", quaternary: "tfms6az" } }, defaultVariants: {}, compoundVariants: [] });
24
+ var form = "tfms6a10";
25
+ var apply_now_form = "tfms6a11";
26
+ var success_wrap = createRuntimeFn({ defaultClassName: "tfms6a14", variantClassNames: { variant: { primary: "tfms6a15", secondary: "tfms6a16", tertiary: "tfms6a17", quaternary: "tfms6a18" } }, defaultVariants: {}, compoundVariants: [] });
27
+ var success_icon = "tfms6a19";
28
+ var succes_check_mark = "tfms6a1a";
29
+ var success_circle = createRuntimeFn({ defaultClassName: "tfms6a1b", variantClassNames: { variant: { primary: "tfms6a1c", secondary: "tfms6a1d", tertiary: "tfms6a1e", quaternary: "tfms6a1f" } }, defaultVariants: {}, compoundVariants: [] });
30
+ var descriptionField = createRuntimeFn({ defaultClassName: "tfms6a1g", variantClassNames: { variant: { primary: "tfms6a1h", secondary: "tfms6a1i", tertiary: "tfms6a1j", quaternary: "tfms6a1k" }, formType: { questionnaire: "tfms6a1l" } }, defaultVariants: {}, compoundVariants: [] });
31
+ var fullRowForm = "tfms6a1m";
32
+ var one_row = "tfms6a1n";
33
+ var section_title = createRuntimeFn({ defaultClassName: "tfms6a1o", variantClassNames: { variant: { primary: "tfms6a1p", secondary: "tfms6a1q", tertiary: "tfms6a1r", quaternary: "tfms6a1s" } }, defaultVariants: {}, compoundVariants: [] });
34
+ var checkbox_group = "tfms6a1t";
35
+ var ro_input = "tfms6a1u";
36
+ var pl_label = "tfms6a1v";
37
+ var x_input = "tfms6a1w";
38
+ var xc_input = "tfms6a1x";
39
+ var fullRowSelect = "tfms6a1y";
40
+ var mt2rem = "tfms6a1z";
41
+ var centerSelect = "tfms6a20";
42
+ var formBtns = "tfms6a21";
43
+ var modalCheckboxContainer = "tfms6a22";
44
+ var threeColRow = "tfms6a23";
45
+ var mt1Rem = "tfms6a24";
46
+ var mw24 = "tfms6a25";
47
+ var modalMobile = "tfms6a26";
48
+ var resposiveLabel = "tfms6a27";
49
+ var dropdown = "tfms6a28";
50
+ var dynPH = "tfms6a29";
51
+ var na_cursor = "tfms6a2a";
52
+ var show_options = "tfms6a2b";
53
+ var hide_options = "tfms6a2c";
54
+ var back_btn_apply_now = "tfms6a2d";
55
+ var iconbillboards_option_apply_now = "tfms6a2e";
56
+ var form_nav_apply_now = "tfms6a2f";
57
+ var step_title_apply_now = "tfms6a2g";
58
+ var email_only_btn = "tfms6a2h";
59
59
  export {
60
60
  actions,
61
61
  apply_now_form,
@@ -6,6 +6,7 @@ export * from './CommercialDeposits';
6
6
  export * from './CommercialDepositsNoLendingOption';
7
7
  export * from './CommercialLending';
8
8
  export * from './CommercialPremiumFinance';
9
+ export * from './ConstructionLendingDynamic';
9
10
  export * from './ContactCompany';
10
11
  export * from './ContactCompanyTitle';
11
12
  export * from './ContactUs';
@@ -34,3 +35,4 @@ export * from './ScheduleCallPremier';
34
35
  export * from './SuccesForm';
35
36
  export * from './VendorQuestionnaire';
36
37
  export * from './WcplSurvey';
38
+ export * from './BoatMooringLocation';
@@ -7,6 +7,7 @@ import { CommercialDeposits } from "./CommercialDeposits.js";
7
7
  import { CommercialDepositsNoLendingOption } from "./CommercialDepositsNoLendingOption.js";
8
8
  import { CommercialLending } from "./CommercialLending.js";
9
9
  import { CommercialPremiumFinance } from "./CommercialPremiumFinance.js";
10
+ import { ConstructionLendingDynamic } from "./ConstructionLendingDynamic.js";
10
11
  import { ContactCompany } from "./ContactCompany.js";
11
12
  import { ContactCompanyTitle } from "./ContactCompanyTitle.js";
12
13
  import { ContactUs } from "./ContactUs.js";
@@ -41,14 +42,17 @@ import { ScheduleCallPremier } from "./ScheduleCallPremier.js";
41
42
  import { SuccesFormWrapper } from "./SuccesForm.js";
42
43
  import { VendorQuestionnaire } from "./VendorQuestionnaire.js";
43
44
  import { WCPLSurvey } from "./WcplSurvey.js";
45
+ import { BoatMooringLocation } from "./BoatMooringLocation.js";
44
46
  export {
45
47
  ApplicationStart,
46
48
  ApplyNow,
49
+ BoatMooringLocation,
47
50
  ClearingForm,
48
51
  CommercialDeposits,
49
52
  CommercialDepositsNoLendingOption,
50
53
  CommercialLending,
51
54
  CommercialPremiumFinance,
55
+ ConstructionLendingDynamic,
52
56
  ContactCompany,
53
57
  ContactCompanyTitle,
54
58
  ContactUs,
@@ -17,7 +17,7 @@ import "../AlertBanner/AlertBanner.css.js";
17
17
  import "../Article/Article.css.js";
18
18
  import "../IconBillboard/IconBillboard.css.js";
19
19
  import { findMoreAxosDomains } from "../utils/allowedAxosDomains.js";
20
- import { validateLink } from "../utils/validateExternalLinks.js";
20
+ import { isPhoneLink, isEmailLink, validateLink } from "../utils/validateExternalLinks.js";
21
21
  /* empty css */
22
22
  /* empty css */
23
23
  import "../Interstitial/Interstitial-variants.css.js";
@@ -144,6 +144,7 @@ const Hyperlink = ({
144
144
  }) => {
145
145
  const hyperlink_variant = variant.toLowerCase();
146
146
  const { setTargetLinkUrl, setOpenModal } = useGlobalContext();
147
+ const isTelOrMailto = targetUrl && (isPhoneLink(targetUrl) || isEmailLink(targetUrl));
147
148
  const onClick = (e) => {
148
149
  if (targetUrl) {
149
150
  const external_link = validateLink(targetUrl);
@@ -167,7 +168,7 @@ const Hyperlink = ({
167
168
  ),
168
169
  onClick,
169
170
  "aria-label": ariaLabel,
170
- target: newTab ? "_blank" : "_self",
171
+ target: newTab && !isTelOrMailto ? "_blank" : "_self",
171
172
  ...noFollow && { rel: "nofollow" },
172
173
  children
173
174
  }
@@ -9,10 +9,28 @@ export declare const lp_theme: import('@vanilla-extract/recipes').RuntimeFn<{
9
9
  tertiary: {
10
10
  background: `var(--${string})`;
11
11
  };
12
+ quaternary: {
13
+ background: `var(--${string})`;
14
+ };
12
15
  };
13
16
  }>;
14
17
  export declare const lp_container: string;
15
18
  export declare const spb_container: string;
16
19
  export declare const lp_hover: string;
17
20
  export declare const spb_hover: string;
18
- export declare const svg_fill: string;
21
+ export declare const svg_fill: import('@vanilla-extract/recipes').RuntimeFn<{
22
+ variant: {
23
+ primary: {
24
+ fill: `var(--${string})`;
25
+ };
26
+ secondary: {
27
+ fill: `var(--${string})`;
28
+ };
29
+ tertiary: {
30
+ fill: `var(--${string})`;
31
+ };
32
+ quaternary: {
33
+ fill: `var(--${string})`;
34
+ };
35
+ };
36
+ }>;
@@ -4,12 +4,12 @@ import '../assets/LandingPageHeader/LandingPageHeader.css';import '../assets/the
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
7
- var lp_theme = createRuntimeFn({ defaultClassName: "_1o1hxre0", variantClassNames: { variant: { primary: "_1o1hxre1", secondary: "_1o1hxre2", tertiary: "_1o1hxre3" } }, defaultVariants: {}, compoundVariants: [] });
8
- var lp_container = "_1o1hxre4";
9
- var spb_container = "_1o1hxre5";
10
- var lp_hover = "_1o1hxre6";
11
- var spb_hover = "_1o1hxre7";
12
- var svg_fill = "_1o1hxre8";
7
+ var lp_theme = createRuntimeFn({ defaultClassName: "_1o1hxre0", variantClassNames: { variant: { primary: "_1o1hxre1", secondary: "_1o1hxre2", tertiary: "_1o1hxre3", quaternary: "_1o1hxre4" } }, defaultVariants: {}, compoundVariants: [] });
8
+ var lp_container = "_1o1hxre5";
9
+ var spb_container = "_1o1hxre6";
10
+ var lp_hover = "_1o1hxre7";
11
+ var spb_hover = "_1o1hxre8";
12
+ var svg_fill = createRuntimeFn({ defaultClassName: "_1o1hxre9", variantClassNames: { variant: { primary: "_1o1hxrea", secondary: "_1o1hxreb", tertiary: "_1o1hxrec", quaternary: "_1o1hxred" } }, defaultVariants: {}, compoundVariants: [] });
13
13
  export {
14
14
  lp_container,
15
15
  lp_hover,
@@ -1,9 +1,11 @@
1
1
  import { QuaternaryTypes } from '../utils/variant.types';
2
+ import { ImageInterface } from '../main';
2
3
 
3
4
  export interface LandingPageHeaderProps {
4
5
  id: string;
5
6
  variant: QuaternaryTypes;
6
7
  project?: string;
7
8
  alt?: string;
9
+ logo?: ImageInterface;
8
10
  }
9
- export declare const LandingPageHeader: ({ id, variant: fullVariant, project, alt, }: LandingPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const LandingPageHeader: ({ id, variant: fullVariant, project, alt, logo, }: LandingPageHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -13,28 +13,45 @@ import SvgComponent from "../icons/Logos/AXA.js";
13
13
  import SvgComponent$2 from "../icons/Logos/AXC.js";
14
14
  import SvgComponent$4 from "../icons/Logos/AXI.js";
15
15
  import SvgComponent$5 from "../icons/Logos/AXOS.js";
16
- import SvgComponent$7 from "../icons/Logos/GBLVF.js";
17
- import SvgComponent$6 from "../icons/Logos/LVF.js";
18
- import SvgComponent$8 from "../icons/Logos/SPB.js";
16
+ import SvgComponent$6 from "../icons/Logos/GBLVF.js";
17
+ import SvgComponent$7 from "../icons/Logos/SPB.js";
19
18
  import { getVariant } from "../utils/getVariant.js";
20
- import { lp_theme, spb_container, lp_container, spb_hover, lp_hover, svg_fill } from "./LandingPageHeader.css.js";
19
+ import { svg_fill, lp_theme, spb_container, lp_container, spb_hover, lp_hover } from "./LandingPageHeader.css.js";
21
20
  const LandingPageHeader = ({
22
21
  id,
23
22
  variant: fullVariant = "primary",
24
23
  project = "AXB",
25
- alt
24
+ alt,
25
+ logo
26
26
  }) => {
27
27
  const variant = getVariant(fullVariant);
28
28
  const website = /* @__PURE__ */ new Map([
29
- ["AXA", /* @__PURE__ */ jsx(SvgComponent, { classNameFill: svg_fill, height: 36, width: 120 })],
30
- ["AFS", /* @__PURE__ */ jsx(SvgComponent$1, { classNameFill: svg_fill, height: 36, width: 120 })],
31
- ["AXC", /* @__PURE__ */ jsx(SvgComponent$2, { classNameFill: svg_fill, height: 36, width: 120 })],
32
- ["AAS", /* @__PURE__ */ jsx(SvgComponent$3, { classNameFill: svg_fill, height: 36, width: 120 })],
33
- ["AXI", /* @__PURE__ */ jsx(SvgComponent$4, { classNameFill: svg_fill, height: 36, width: 120 })],
34
- ["AXB", /* @__PURE__ */ jsx(SvgComponent$5, { height: 30, width: 120, classNameFill: svg_fill })],
35
- ["LVF", /* @__PURE__ */ jsx(SvgComponent$6, { height: 30, width: 120, classNameFill: `${svg_fill}` })],
36
- ["GBLVF", /* @__PURE__ */ jsx(SvgComponent$7, { height: 60, width: 220 })],
37
- ["SPB", /* @__PURE__ */ jsx(SvgComponent$8, { height: "100%", width: "100%" })]
29
+ [
30
+ "AXA",
31
+ /* @__PURE__ */ jsx(SvgComponent, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
32
+ ],
33
+ [
34
+ "AFS",
35
+ /* @__PURE__ */ jsx(SvgComponent$1, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
36
+ ],
37
+ [
38
+ "AXC",
39
+ /* @__PURE__ */ jsx(SvgComponent$2, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
40
+ ],
41
+ [
42
+ "AAS",
43
+ /* @__PURE__ */ jsx(SvgComponent$3, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
44
+ ],
45
+ [
46
+ "AXI",
47
+ /* @__PURE__ */ jsx(SvgComponent$4, { classNameFill: svg_fill({ variant }), height: 36, width: 120 })
48
+ ],
49
+ [
50
+ "AXB",
51
+ /* @__PURE__ */ jsx(SvgComponent$5, { height: 30, width: 120, classNameFill: svg_fill({ variant }) })
52
+ ],
53
+ ["GBLVF", /* @__PURE__ */ jsx(SvgComponent$6, { height: 60, width: 220 })],
54
+ ["SPB", /* @__PURE__ */ jsx(SvgComponent$7, { height: "100%", width: "100%" })]
38
55
  ]);
39
56
  const isSPBPage = project === "SPB";
40
57
  return /* @__PURE__ */ jsx("header", { className: `${lp_theme({ variant })}`, id: `id_${id}`, children: /* @__PURE__ */ jsx(
@@ -46,8 +63,17 @@ const LandingPageHeader = ({
46
63
  {
47
64
  href: project == "AXI" ? "/invest" : "/",
48
65
  className: isSPBPage ? spb_hover : lp_hover,
49
- "aria-label": alt ?? "axos logo, return to homepage",
50
- children: website.get(project)
66
+ "aria-label": alt ?? "return to homepage",
67
+ children: logo ? /* @__PURE__ */ jsx(
68
+ "img",
69
+ {
70
+ src: logo.src,
71
+ alt: logo.alt ?? "",
72
+ height: Number(logo.height),
73
+ width: Number(logo.width),
74
+ className: "img_fluid"
75
+ }
76
+ ) : website.get(project)
51
77
  }
52
78
  )
53
79
  }