@axos-web-dev/shared-components 1.0.77-patch.70 → 1.0.77-patch.72

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.
@@ -4,6 +4,8 @@ export type BoatMooringLocationInputs = {
4
4
  email: string;
5
5
  firstName: string;
6
6
  lastName: string;
7
+ boatOwnedByLlc: "Yes" | "No";
8
+ llcName: string;
7
9
  boatName: string;
8
10
  marinaAddress: string;
9
11
  marinaAddress2: string;
@@ -19,7 +21,10 @@ export type BoatMooringLocationInputs = {
19
21
  extraState: string;
20
22
  extraZip: string;
21
23
  extraCountry: string;
22
- charterType: "Limited Charter" | "Full-time Charter";
24
+ charterType: "Limited Charter" | "Full-time Charter" | "";
23
25
  charterCompany: string;
26
+ insuranceCompanyName: string;
27
+ insurancePolicyExpirationDate: string;
28
+ insuranceContactEmailAddress: string;
24
29
  };
25
30
  export declare const BoatMooringLocation: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, callToAction, validateEmail, onValidate, description, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
@@ -54,8 +54,14 @@ const BoatMooringLocation = ({
54
54
  const cachedEmailValidator = useCachedEmailValidator(validateEmail);
55
55
  const schema = z.object({
56
56
  email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
57
- firstName: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
58
- lastName: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
57
+ firstName: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
58
+ message: "First Name is required."
59
+ }).trim().min(1, { message: "First Name is required." }),
60
+ lastName: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
61
+ message: "Last Name is required."
62
+ }).trim().min(1, { message: "Last Name is required." }),
63
+ boatOwnedByLlc: z.string().trim().optional().or(z.literal("")),
64
+ llcName: z.string().trim().optional().or(z.literal("")),
59
65
  boatName: z.string().trim(),
60
66
  marinaAddress: z.string().trim(),
61
67
  marinaAddress2: z.string().trim().optional().or(z.literal("")),
@@ -72,7 +78,16 @@ const BoatMooringLocation = ({
72
78
  extraZip: z.string().trim().optional().or(z.literal("")),
73
79
  extraCountry: z.string().trim().optional().or(z.literal("")),
74
80
  charterType: z.string().trim().optional().or(z.literal("")),
75
- charterCompany: z.string().trim().optional().or(z.literal(""))
81
+ charterCompany: z.string().trim().optional().or(z.literal("")),
82
+ insuranceCompanyName: z.string().trim().optional().or(z.literal("")),
83
+ insurancePolicyExpirationDate: z.string().trim().optional().or(z.literal("")),
84
+ insuranceContactEmailAddress: z.string().trim().email({ message: "Invalid email address." }).optional().or(z.literal("")).refine(
85
+ async (value) => {
86
+ if (!value) return true;
87
+ return await cachedEmailValidator(value);
88
+ },
89
+ { message: "Invalid email address." }
90
+ )
76
91
  });
77
92
  const gen_schema = schema.merge(honeyPotSchema).superRefine((data, ctx) => {
78
93
  if (!isValidHoneyPot(data)) {
@@ -81,11 +96,39 @@ const BoatMooringLocation = ({
81
96
  message: "fields are not valid."
82
97
  });
83
98
  }
99
+ if (data.boatOwnedByLlc === "Yes" && !String(data.llcName ?? "").trim()) {
100
+ ctx.addIssue({
101
+ code: z.ZodIssueCode.custom,
102
+ message: "Name of LLC is required.",
103
+ path: ["llcName"]
104
+ });
105
+ }
106
+ if (data.charter === "No") {
107
+ if (!String(data.insuranceCompanyName ?? "").trim()) {
108
+ ctx.addIssue({
109
+ code: z.ZodIssueCode.custom,
110
+ message: "Insurance Company Name is required.",
111
+ path: ["insuranceCompanyName"]
112
+ });
113
+ }
114
+ if (!String(data.insurancePolicyExpirationDate ?? "").trim()) {
115
+ ctx.addIssue({
116
+ code: z.ZodIssueCode.custom,
117
+ message: "Insurance Policy Expiration Date is required.",
118
+ path: ["insurancePolicyExpirationDate"]
119
+ });
120
+ }
121
+ if (!String(data.insuranceContactEmailAddress ?? "").trim()) {
122
+ ctx.addIssue({
123
+ code: z.ZodIssueCode.custom,
124
+ message: "Insurance Contact Email Address is required.",
125
+ path: ["insuranceContactEmailAddress"]
126
+ });
127
+ }
128
+ }
84
129
  });
85
130
  const methods = useForm({
86
- resolver: zodResolver(gen_schema, {
87
- async: true
88
- }),
131
+ resolver: zodResolver(gen_schema),
89
132
  mode: "all",
90
133
  shouldUnregister: true,
91
134
  defaultValues: {
@@ -99,9 +142,12 @@ const BoatMooringLocation = ({
99
142
  formState: { errors, isValid, isSubmitting }
100
143
  } = methods;
101
144
  const seasonMove = watch("seasonallyMove");
102
- const isCharter = watch("charter");
145
+ const charter = watch("charter");
146
+ const boatOwnedByLlc = watch("boatOwnedByLlc");
103
147
  const renderExtraFields = seasonMove === "Yes";
104
- const renderCharterFields = isCharter === "Yes";
148
+ const renderCharterFields = charter === "Yes";
149
+ const renderInsuranceFields = charter === "No";
150
+ const renderLlcNameField = boatOwnedByLlc === "Yes";
105
151
  const submitForm = async (data) => {
106
152
  await onSubmit(data);
107
153
  };
@@ -143,7 +189,7 @@ const BoatMooringLocation = ({
143
189
  label: "First Name",
144
190
  sizes: "medium",
145
191
  required: true,
146
- error: !!errors.email,
192
+ error: !!errors.firstName,
147
193
  helperText: errors.firstName?.message,
148
194
  variant
149
195
  }
@@ -158,7 +204,7 @@ const BoatMooringLocation = ({
158
204
  label: "Last Name",
159
205
  sizes: "medium",
160
206
  required: true,
161
- error: !!errors.email,
207
+ error: !!errors.lastName,
162
208
  helperText: errors.lastName?.message,
163
209
  variant
164
210
  }
@@ -198,7 +244,7 @@ const BoatMooringLocation = ({
198
244
  {
199
245
  id: "marinaAddress",
200
246
  ...register("marinaAddress", { required: true }),
201
- label: "Marina Address",
247
+ label: "Marina Address Line 1",
202
248
  sizes: "medium",
203
249
  required: true,
204
250
  helperText: errors.marinaAddress?.message,
@@ -209,7 +255,8 @@ const BoatMooringLocation = ({
209
255
  Input,
210
256
  {
211
257
  id: "marinaAddress2",
212
- label: "Alternate Marina Address (if applicable)",
258
+ ...register("marinaAddress2"),
259
+ label: "Marina Address Line 2 (optional)",
213
260
  sizes: "medium",
214
261
  required: false,
215
262
  helperText: errors.marinaAddress2?.message,
@@ -264,6 +311,51 @@ const BoatMooringLocation = ({
264
311
  variant
265
312
  }
266
313
  ) }),
314
+ /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsxs(
315
+ RadioButtonSet,
316
+ {
317
+ id: "boatOwnedByLlc",
318
+ label: "Is your boat owned by an LLC?",
319
+ sizes: "medium",
320
+ required: true,
321
+ error: !!errors.boatOwnedByLlc,
322
+ helperText: errors.boatOwnedByLlc?.message,
323
+ variant,
324
+ children: [
325
+ /* @__PURE__ */ jsx(
326
+ RadioButton,
327
+ {
328
+ ...register("boatOwnedByLlc"),
329
+ value: "Yes",
330
+ radioText: "Yes",
331
+ groupName: "boatOwnedByLlc"
332
+ }
333
+ ),
334
+ /* @__PURE__ */ jsx(
335
+ RadioButton,
336
+ {
337
+ ...register("boatOwnedByLlc"),
338
+ value: "No",
339
+ radioText: "No",
340
+ groupName: "boatOwnedByLlc"
341
+ }
342
+ )
343
+ ]
344
+ }
345
+ ) }),
346
+ renderLlcNameField && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
347
+ Input,
348
+ {
349
+ id: "llcName",
350
+ ...register("llcName"),
351
+ label: "Name of LLC",
352
+ sizes: "medium",
353
+ required: true,
354
+ error: !!errors.llcName,
355
+ helperText: errors.llcName?.message,
356
+ variant
357
+ }
358
+ ) }),
267
359
  /* @__PURE__ */ jsx("div", { className: fullRowForm, children: /* @__PURE__ */ jsxs(
268
360
  RadioButtonSet,
269
361
  {
@@ -306,7 +398,7 @@ const BoatMooringLocation = ({
306
398
  {
307
399
  id: "extraMarinaAddress",
308
400
  ...register("extraMarinaAddress"),
309
- label: "Marina Address",
401
+ label: "Marina Address Line 1",
310
402
  sizes: "medium",
311
403
  required: false,
312
404
  helperText: errors.extraMarinaAddress?.message,
@@ -317,7 +409,8 @@ const BoatMooringLocation = ({
317
409
  Input,
318
410
  {
319
411
  id: "extraMarinaAddress2",
320
- label: "Alternate Marina Address (if applicable)",
412
+ ...register("extraMarinaAddress2"),
413
+ label: "Marina Address Line 2 (optional)",
321
414
  sizes: "medium",
322
415
  required: false,
323
416
  helperText: errors.extraMarinaAddress2?.message,
@@ -377,7 +470,7 @@ const BoatMooringLocation = ({
377
470
  RadioButtonSet,
378
471
  {
379
472
  id: "charter",
380
- label: "Is your boat a charter?",
473
+ label: "Is your boat in charter?",
381
474
  sizes: "medium",
382
475
  required: true,
383
476
  error: !!errors.charter,
@@ -451,6 +544,48 @@ const BoatMooringLocation = ({
451
544
  }
452
545
  ) })
453
546
  ] }),
547
+ renderInsuranceFields && /* @__PURE__ */ jsxs(Fragment, { children: [
548
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
549
+ Input,
550
+ {
551
+ id: "insuranceCompanyName",
552
+ ...register("insuranceCompanyName"),
553
+ label: "Insurance Company Name",
554
+ sizes: "medium",
555
+ required: true,
556
+ error: !!errors.insuranceCompanyName,
557
+ helperText: errors.insuranceCompanyName?.message,
558
+ variant
559
+ }
560
+ ) }),
561
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
562
+ Input,
563
+ {
564
+ id: "insurancePolicyExpirationDate",
565
+ ...register("insurancePolicyExpirationDate"),
566
+ label: "Insurance Policy Expiration Date",
567
+ sizes: "medium",
568
+ type: "date",
569
+ required: true,
570
+ error: !!errors.insurancePolicyExpirationDate,
571
+ helperText: errors.insurancePolicyExpirationDate?.message,
572
+ variant
573
+ }
574
+ ) }),
575
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
576
+ Input,
577
+ {
578
+ id: "insuranceContactEmailAddress",
579
+ ...register("insuranceContactEmailAddress"),
580
+ label: "Insurance Contact Email Address",
581
+ sizes: "medium",
582
+ required: true,
583
+ error: !!errors.insuranceContactEmailAddress,
584
+ helperText: errors.insuranceContactEmailAddress?.message,
585
+ variant
586
+ }
587
+ ) })
588
+ ] }),
454
589
  /* @__PURE__ */ jsx(HoneyPot, { register, variant })
455
590
  ] }),
456
591
  children,
@@ -1,30 +1,30 @@
1
- import '../../../assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css';const overlay = "_overlay_7ufer_1";
2
- const drawer = "_drawer_7ufer_9";
3
- const mobileNavRow = "_mobileNavRow_7ufer_29";
4
- const loginTrigger = "_loginTrigger_7ufer_35";
5
- const hamburger = "_hamburger_7ufer_51";
6
- const loginDrawerTitle = "_loginDrawerTitle_7ufer_73";
7
- const loginDrawerContent = "_loginDrawerContent_7ufer_79";
8
- const header = "_header_7ufer_85";
9
- const back = "_back_7ufer_96";
10
- const close = "_close_7ufer_104";
11
- const levelContainer = "_levelContainer_7ufer_115";
12
- const level = "_level_7ufer_115";
13
- const levelTitle = "_levelTitle_7ufer_131";
14
- const menu = "_menu_7ufer_136";
15
- const menuItem = "_menuItem_7ufer_152";
16
- const loginAccordion = "_loginAccordion_7ufer_168";
17
- const loginAccordionList = "_loginAccordionList_7ufer_172";
18
- const loginAccordionGroup = "_loginAccordionGroup_7ufer_178";
19
- const loginAccordionHeading = "_loginAccordionHeading_7ufer_215";
20
- const loginAccordionGroupList = "_loginAccordionGroupList_7ufer_225";
21
- const loginHeading = "_loginHeading_7ufer_269";
22
- const chevron = "_chevron_7ufer_279";
23
- const chevronIcon = "_chevronIcon_7ufer_284";
24
- const quickLinks = "_quickLinks_7ufer_295";
25
- const quickLink = "_quickLink_7ufer_295";
26
- const sr_only = "_sr_only_7ufer_319";
27
- const loginAccordionOverlay = "_loginAccordionOverlay_7ufer_344";
1
+ import '../../../assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css';const overlay = "_overlay_w36iv_1";
2
+ const drawer = "_drawer_w36iv_17";
3
+ const mobileNavRow = "_mobileNavRow_w36iv_57";
4
+ const loginTrigger = "_loginTrigger_w36iv_69";
5
+ const hamburger = "_hamburger_w36iv_101";
6
+ const loginDrawerTitle = "_loginDrawerTitle_w36iv_145";
7
+ const loginDrawerContent = "_loginDrawerContent_w36iv_157";
8
+ const header = "_header_w36iv_169";
9
+ const back = "_back_w36iv_191";
10
+ const close = "_close_w36iv_207";
11
+ const levelContainer = "_levelContainer_w36iv_229";
12
+ const level = "_level_w36iv_229";
13
+ const levelTitle = "_levelTitle_w36iv_261";
14
+ const menu = "_menu_w36iv_271";
15
+ const menuItem = "_menuItem_w36iv_303";
16
+ const loginAccordion = "_loginAccordion_w36iv_335";
17
+ const loginAccordionList = "_loginAccordionList_w36iv_343";
18
+ const loginAccordionGroup = "_loginAccordionGroup_w36iv_355";
19
+ const loginAccordionHeading = "_loginAccordionHeading_w36iv_429";
20
+ const loginAccordionGroupList = "_loginAccordionGroupList_w36iv_449";
21
+ const loginHeading = "_loginHeading_w36iv_537";
22
+ const chevron = "_chevron_w36iv_557";
23
+ const chevronIcon = "_chevronIcon_w36iv_567";
24
+ const quickLinks = "_quickLinks_w36iv_589";
25
+ const quickLink = "_quickLink_w36iv_589";
26
+ const sr_only = "_sr_only_w36iv_637";
27
+ const loginAccordionOverlay = "_loginAccordionOverlay_w36iv_687";
28
28
  const styles = {
29
29
  overlay,
30
30
  drawer,
@@ -251,7 +251,10 @@ export declare const menuData: {
251
251
  Business: {
252
252
  "Business Banking Login": string;
253
253
  "MWA Business Login": string;
254
- "Commercial Portal": string;
254
+ };
255
+ Commercial: {
256
+ "Commercial Online Banking Login": string;
257
+ "Commercial Loan Portal": string;
255
258
  };
256
259
  Partners: {
257
260
  "Wholesale and Correspondent": string;
@@ -609,8 +609,13 @@ const menuData = {
609
609
  ),
610
610
  "MWA Business Login": findMoreAxosDomains(
611
611
  "{AXOSBANK}/business/mwa-business-banking"
612
+ )
613
+ },
614
+ Commercial: {
615
+ "Commercial Online Banking Login": findMoreAxosDomains(
616
+ "https://ace.axos.com/"
612
617
  ),
613
- "Commercial Portal": findMoreAxosDomains(
618
+ "Commercial Loan Portal": findMoreAxosDomains(
614
619
  "{AXOSBANK}/commercial/lending/commercial-portal"
615
620
  )
616
621
  },
@@ -499,6 +499,33 @@ function NavBar({
499
499
  }
500
500
  )
501
501
  }
502
+ )
503
+ ] })
504
+ ] }),
505
+ /* @__PURE__ */ jsxs("li", { role: "heading", children: [
506
+ /* @__PURE__ */ jsx(
507
+ "a",
508
+ {
509
+ className: styles.signin_header,
510
+ href: findMoreAxosDomains("{AXOSBANK}/commercial"),
511
+ children: "Commercial"
512
+ }
513
+ ),
514
+ /* @__PURE__ */ jsxs("ul", { className: "list_unstyled", children: [
515
+ /* @__PURE__ */ jsx(
516
+ "li",
517
+ {
518
+ className: `${styles.signin_subheader} ${signin_subheader}`,
519
+ children: /* @__PURE__ */ jsx(
520
+ "a",
521
+ {
522
+ href: findMoreAxosDomains(
523
+ "https://ace.axos.com/"
524
+ ),
525
+ children: "Commercial Online Banking Login"
526
+ }
527
+ )
528
+ }
502
529
  ),
503
530
  /* @__PURE__ */ jsx(
504
531
  "li",
@@ -510,7 +537,7 @@ function NavBar({
510
537
  href: findMoreAxosDomains(
511
538
  "{AXOSBANK}/commercial/lending/commercial-portal"
512
539
  ),
513
- children: "Commercial Portal"
540
+ children: "Commercial Loan Portal"
514
541
  }
515
542
  )
516
543
  }