@npm_leadtech/legal-contracts-ui 0.99.0 → 0.99.2

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.
@@ -1,4 +1,60 @@
1
+ import { ComponentPropsWithRef } from 'react';
1
2
  import { FC } from 'react';
3
+ import { ReactNode } from 'react';
2
4
 
3
- export declare const ContactFormSection: FC;
5
+ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
6
+ children: ReactNode;
7
+ size?: ButtonSize;
8
+ variant?: ResponsiveButtonVariant;
9
+ iconPosition?: IconPosition;
10
+ }
11
+
12
+ export type ButtonSize = 'small' | 'default' | 'large';
13
+
14
+ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
15
+
16
+ export declare interface ContactFormFieldProps {
17
+ label: string;
18
+ id: string;
19
+ name: string;
20
+ placeholder?: string;
21
+ required?: boolean;
22
+ tooltip?: string;
23
+ errorMessage?: string;
24
+ }
25
+
26
+ export declare const ContactFormSection: FC<ContactFormSectionProps>;
27
+
28
+ export declare interface ContactFormSectionProps {
29
+ title: ReactNode;
30
+ subjectOptions: {
31
+ label: string;
32
+ value: string;
33
+ }[];
34
+ fullNameField: Omit<ContactFormFieldProps, 'tooltip'>;
35
+ emailField: Omit<ContactFormFieldProps, 'tooltip'>;
36
+ referenceNumberField: ContactFormFieldProps;
37
+ subjectField: Omit<ContactFormFieldProps, 'tooltip'>;
38
+ messageField: Omit<ContactFormFieldProps, 'tooltip'>;
39
+ requiredFieldsText: string;
40
+ privacyField: Omit<ContactFormFieldProps, 'tooltip'>;
41
+ securityHint: string;
42
+ feedback?: {
43
+ type: 'success' | 'error';
44
+ message: string;
45
+ title?: string;
46
+ cta?: ReactNode;
47
+ };
48
+ button: ButtonProps;
49
+ }
50
+
51
+ export type IconPosition = 'left' | 'right' | 'top';
52
+
53
+ export type ResponsiveButtonVariant = ButtonVariant | {
54
+ initial?: ButtonVariant;
55
+ sm?: ButtonVariant;
56
+ md?: ButtonVariant;
57
+ lg?: ButtonVariant;
58
+ xl?: ButtonVariant;
59
+ };
4
60
 
@@ -1,82 +1,104 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { Textarea as t } from "./Textarea.js";
3
- import { Checkbox as i } from "./Checkbox.js";
4
- import { CommunicationIcon as l } from "./CommunicationIcon.js";
5
- import { Input as a } from "./Input.js";
6
- import { Select as n } from "./Select.js";
7
- import { Item as o } from "./Item.js";
8
- import { Button as s } from "./Button.js";
9
- const c = [
10
- { label: "Billing and subscriptions", value: "billing-and-subscriptions" },
11
- { label: "Technical support", value: "technical-support" },
12
- { label: "Document customization", value: "document-customization" },
13
- { label: "Account and security", value: "account-and-security" }
14
- ], y = () => /* @__PURE__ */ r("section", { "aria-labelledby": "contact-form-heading", className: "flex-1 rounded-xl bg-white p-6 shadow-md lg:p-8", children: [
15
- /* @__PURE__ */ r("div", { className: "space-y-4", children: [
16
- /* @__PURE__ */ e("p", { id: "contact-form-heading", className: "text-big font-bold text-neutral-600", children: "Send Us a Message" }),
17
- /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-200", "aria-hidden": "true" })
1
+ import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
+ import { Textarea as g } from "./Textarea.js";
3
+ import { Checkbox as y } from "./Checkbox.js";
4
+ import { Input as m } from "./Input.js";
5
+ import { Select as u } from "./Select.js";
6
+ import { Markdown as M } from "./Markdown.js";
7
+ import { Item as N } from "./Item.js";
8
+ import { InfoIcon as v } from "./InfoIcon.js";
9
+ import { Button as q } from "./Button.js";
10
+ const V = ({
11
+ title: n,
12
+ subjectOptions: p,
13
+ fullNameField: o,
14
+ emailField: l,
15
+ referenceNumberField: e,
16
+ subjectField: a,
17
+ messageField: t,
18
+ privacyField: d,
19
+ requiredFieldsText: c,
20
+ securityHint: h,
21
+ feedback: i,
22
+ button: x
23
+ }) => /* @__PURE__ */ s("section", { className: "rounded-sm bg-white p-8 shadow-sm", children: [
24
+ /* @__PURE__ */ s("div", { className: "space-y-4", children: [
25
+ /* @__PURE__ */ r("p", { className: "text-big font-bold text-neutral-600", children: n }),
26
+ /* @__PURE__ */ r("div", { className: "h-px w-full bg-neutral-200", "aria-hidden": "true" })
18
27
  ] }),
19
- /* @__PURE__ */ r("form", { className: "mt-6 space-y-6", noValidate: !0, children: [
20
- /* @__PURE__ */ e(a, { label: "Full Name", id: "full-name", name: "full-name", type: "text", placeholder: "e.g. John Doe", required: !0 }),
21
- /* @__PURE__ */ e(a, { label: "Email", id: "email", name: "email", type: "email", placeholder: "example@email.com", required: !0 }),
22
- /* @__PURE__ */ e(
23
- a,
28
+ /* @__PURE__ */ s("form", { className: "mt-6 flex flex-col gap-6", noValidate: !0, children: [
29
+ i && /* @__PURE__ */ r(
30
+ "div",
24
31
  {
25
- label: "Reference number",
26
- id: "reference-number",
27
- name: "reference-number",
28
- type: "text",
29
- placeholder: "e.g. 12345678",
30
- tooltip: "Where to find your reference number"
32
+ role: "status",
33
+ "aria-live": "polite",
34
+ className: i.type === "success" ? "rounded border border-green-300 bg-green-50 px-4 py-3 text-green-900" : "rounded border border-red-300 bg-red-50 px-4 py-3 text-red-800",
35
+ children: i.message
31
36
  }
32
37
  ),
33
- /* @__PURE__ */ e(
34
- n,
35
- {
36
- label: "Subject",
37
- id: "subject",
38
- name: "subject",
39
- placeholder: "Select a subject",
40
- options: c,
41
- required: !0
42
- }
43
- ),
44
- /* @__PURE__ */ e(t, { label: "Your Message", id: "message", name: "message", placeholder: "Write your message here", required: !0 }),
45
- /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: "* Required fields" }),
46
- /* @__PURE__ */ e(i, { id: "privacy", name: "privacy", required: !0, children: /* @__PURE__ */ r("span", { children: [
47
- "I have read and accept the",
48
- " ",
49
- /* @__PURE__ */ e(
50
- "a",
38
+ /* @__PURE__ */ s("div", { className: "space-y-1", children: [
39
+ /* @__PURE__ */ r(m, { ...o, type: "text" }),
40
+ o.errorMessage && /* @__PURE__ */ r("p", { id: `${o.id}-error-message`, className: "text-small text-red-700", children: o.errorMessage })
41
+ ] }),
42
+ /* @__PURE__ */ s("div", { className: "space-y-1", children: [
43
+ /* @__PURE__ */ r(m, { ...l, type: "email" }),
44
+ l.errorMessage && /* @__PURE__ */ r("p", { id: `${l.id}-error-message`, className: "text-small text-red-700", children: l.errorMessage })
45
+ ] }),
46
+ /* @__PURE__ */ s("div", { className: "space-y-1", children: [
47
+ /* @__PURE__ */ r(
48
+ m,
49
+ {
50
+ label: e.label,
51
+ id: e.id,
52
+ name: e.name,
53
+ type: "text",
54
+ placeholder: e.placeholder,
55
+ tooltip: e.tooltip,
56
+ required: e.required
57
+ }
58
+ ),
59
+ e.errorMessage && /* @__PURE__ */ r("p", { id: `${e.id}-error-message`, className: "text-small text-red-700", children: e.errorMessage })
60
+ ] }),
61
+ /* @__PURE__ */ s("div", { className: "space-y-1", children: [
62
+ /* @__PURE__ */ r(
63
+ u,
51
64
  {
52
- href: "https://www.lawdistrict.com/privacy-and-cookies-policy/",
53
- target: "_blank",
54
- rel: "noopener noreferrer",
55
- className: "text-primary-700 underline-offset-2 hover:underline",
56
- children: "Privacy and Cookies Policy."
65
+ label: a.label,
66
+ id: a.id,
67
+ name: a.name,
68
+ placeholder: a.placeholder,
69
+ options: p,
70
+ required: a.required
57
71
  }
58
- )
59
- ] }) }),
60
- /* @__PURE__ */ e(
61
- o,
72
+ ),
73
+ a.errorMessage && /* @__PURE__ */ r("p", { id: `${a.id}-error-message`, className: "text-small text-red-700", children: a.errorMessage })
74
+ ] }),
75
+ /* @__PURE__ */ s("div", { className: "space-y-1", children: [
76
+ /* @__PURE__ */ r(
77
+ g,
78
+ {
79
+ label: t.label,
80
+ id: t.id,
81
+ name: t.name,
82
+ placeholder: t.placeholder,
83
+ required: t.required
84
+ }
85
+ ),
86
+ t.errorMessage && /* @__PURE__ */ r("p", { id: `${t.id}-error-message`, className: "text-small text-red-700", children: t.errorMessage })
87
+ ] }),
88
+ /* @__PURE__ */ r("p", { className: "text-medium text-neutral-600", children: c }),
89
+ /* @__PURE__ */ r("div", { className: "", children: /* @__PURE__ */ r(y, { id: d.id, name: d.name, required: !0, children: /* @__PURE__ */ r(M, { className: "text-medium [&_p:last-child]:mb-0", content: d.label }) }) }),
90
+ /* @__PURE__ */ r(
91
+ N,
62
92
  {
63
- id: "ID",
64
- image: /* @__PURE__ */ e(l, { className: "size-5", "aria-hidden": "true" }),
65
- description: "This information is required for the security verification process.",
66
- className: "text-small flex items-start gap-3 rounded bg-neutral-50 p-4 text-neutral-600"
93
+ id: "security-hint",
94
+ image: /* @__PURE__ */ r(v, { width: 24, height: 24, "aria-hidden": "true" }),
95
+ description: h,
96
+ className: "text-small flex items-start gap-2 rounded bg-neutral-50 p-4 text-neutral-600"
67
97
  }
68
98
  ),
69
- /* @__PURE__ */ e(
70
- s,
71
- {
72
- type: "submit",
73
- size: "large",
74
- className: "bg-primary-500 hover:bg-primary-400 focus-visible:outline-primary-500 w-full justify-center text-white",
75
- children: /* @__PURE__ */ e("span", { className: "text-medium font-bold text-white", children: "Send Message" })
76
- }
77
- )
99
+ /* @__PURE__ */ r(q, { ...x, variant: "primary-green", className: "w-fit self-center" })
78
100
  ] })
79
101
  ] });
80
102
  export {
81
- y as ContactFormSection
103
+ V as ContactFormSection
82
104
  };
@@ -1,10 +1,12 @@
1
1
  import { FC } from 'react';
2
+ import { ReactNode } from 'react';
2
3
 
3
4
  export declare interface ContactMethod {
4
- icon: React.ReactNode;
5
- label: string;
5
+ id: string;
6
+ icon: ReactNode;
7
+ label?: ReactNode;
6
8
  helper?: string;
7
- href?: string;
9
+ variant: 'phone' | 'email' | 'location';
8
10
  }
9
11
 
10
12
  export declare const ContactMethodCard: FC<ContactMethod>;
@@ -1,11 +1,33 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- const i = ({ icon: n, label: t, helper: r, href: d }) => /* @__PURE__ */ a("article", { className: "bg-neutral-25 flex items-center gap-4 rounded-lg border border-neutral-200 p-4", children: [
3
- /* @__PURE__ */ e("div", { className: "flex h-10 w-10 items-center justify-center rounded-md bg-white", "aria-hidden": "true", children: n }),
4
- /* @__PURE__ */ a("div", { className: "flex-1", children: [
5
- d ? /* @__PURE__ */ e("a", { href: d, className: "text-medium text-primary-800 font-bold underline-offset-4 hover:underline", children: t }) : /* @__PURE__ */ e("p", { className: "text-medium text-primary-800 font-bold", children: t }),
6
- r && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: r })
1
+ import { jsxs as s, Fragment as r, jsx as a } from "react/jsx-runtime";
2
+ import { LinkWrapper as n } from "./LinkWrapper.js";
3
+ const h = ({ icon: l, label: t, helper: e, variant: i }) => /* @__PURE__ */ s("article", { className: "bg-neutral-25 flex flex-wrap gap-2 rounded-sm p-4 md:flex-col", children: [
4
+ i === "phone" && /* @__PURE__ */ s(r, { children: [
5
+ /* @__PURE__ */ s(n, { variant: "primary-green", className: "w-full md:hidden", children: [
6
+ l,
7
+ " ",
8
+ t
9
+ ] }),
10
+ /* @__PURE__ */ s("div", { className: "hidden gap-2 md:flex", children: [
11
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: l }),
12
+ /* @__PURE__ */ s("div", { className: "flex flex-col gap-1", children: [
13
+ /* @__PURE__ */ a(n, { className: "justify-start! p-0! no-underline!", variant: "tertiary-link", children: /* @__PURE__ */ a("span", { className: "text-medium text-primary-800 font-bold", children: t }) }),
14
+ e && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0", children: e })
15
+ ] })
16
+ ] }),
17
+ e && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0 md:hidden", children: e })
18
+ ] }),
19
+ i === "email" && /* @__PURE__ */ s("div", { className: "flex gap-2", children: [
20
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: l }),
21
+ /* @__PURE__ */ s("div", { className: "flex flex-col gap-1", children: [
22
+ /* @__PURE__ */ a(n, { className: "justify-start! p-0!", variant: "tertiary-link", children: /* @__PURE__ */ a("span", { className: "text-medium text-primary-800 font-bold", children: t }) }),
23
+ e && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: e })
24
+ ] })
25
+ ] }),
26
+ i === "location" && /* @__PURE__ */ s("div", { className: "flex gap-2", children: [
27
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: l }),
28
+ e && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: e })
7
29
  ] })
8
30
  ] });
9
31
  export {
10
- i as ContactMethodCard
32
+ h as ContactMethodCard
11
33
  };
@@ -2,16 +2,16 @@ import { FC } from 'react';
2
2
  import { ReactNode } from 'react';
3
3
 
4
4
  export interface ContactMethod {
5
- icon: React.ReactNode;
6
- label: string;
5
+ id: string;
6
+ icon: ReactNode;
7
+ label?: ReactNode;
7
8
  helper?: string;
8
- href?: string;
9
+ variant: 'phone' | 'email' | 'location';
9
10
  }
10
11
 
11
12
  export declare const ContactMethodsSection: FC<ContactMethodsSectionProps>;
12
13
 
13
14
  export declare interface ContactMethodsSectionProps {
14
15
  items: ContactMethod[];
15
- title?: ReactNode;
16
16
  }
17
17
 
@@ -1,7 +1,6 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { Card as r } from "./Card.js";
3
- import { ContactMethodCard as c } from "./ContactMethodCard.js";
4
- const n = ({ items: t, title: a }) => /* @__PURE__ */ o("section", { "aria-labelledby": "contact-methods-heading", children: /* @__PURE__ */ o(r, { title: a, children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-4", children: t.map((e) => /* @__PURE__ */ o(c, { ...e }, e.label)) }) }) });
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { ContactMethodCard as s } from "./ContactMethodCard.js";
3
+ const r = ({ items: e }) => /* @__PURE__ */ t("section", { className: "flex flex-col gap-4 rounded-sm bg-white p-6 shadow-sm", children: e.map((o) => /* @__PURE__ */ t(s, { ...o }, o.id)) });
5
4
  export {
6
- n as ContactMethodsSection
5
+ r as ContactMethodsSection
7
6
  };
@@ -1,16 +1,61 @@
1
+ import { ComponentPropsWithRef } from 'react';
1
2
  import { FC } from 'react';
2
3
  import { ReactNode } from 'react';
3
4
 
4
- export interface ContactMethod {
5
- icon: React.ReactNode;
5
+ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
6
+ children: ReactNode;
7
+ size?: ButtonSize;
8
+ variant?: ResponsiveButtonVariant;
9
+ iconPosition?: IconPosition;
10
+ }
11
+
12
+ export type ButtonSize = 'small' | 'default' | 'large';
13
+
14
+ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
15
+
16
+ export interface ContactFormFieldProps {
6
17
  label: string;
18
+ id: string;
19
+ name: string;
20
+ placeholder?: string;
21
+ required?: boolean;
22
+ tooltip?: string;
23
+ errorMessage?: string;
24
+ }
25
+
26
+ export interface ContactFormSectionProps {
27
+ title: ReactNode;
28
+ subjectOptions: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ fullNameField: Omit<ContactFormFieldProps, 'tooltip'>;
33
+ emailField: Omit<ContactFormFieldProps, 'tooltip'>;
34
+ referenceNumberField: ContactFormFieldProps;
35
+ subjectField: Omit<ContactFormFieldProps, 'tooltip'>;
36
+ messageField: Omit<ContactFormFieldProps, 'tooltip'>;
37
+ requiredFieldsText: string;
38
+ privacyField: Omit<ContactFormFieldProps, 'tooltip'>;
39
+ securityHint: string;
40
+ feedback?: {
41
+ type: 'success' | 'error';
42
+ message: string;
43
+ title?: string;
44
+ cta?: ReactNode;
45
+ };
46
+ button: ButtonProps;
47
+ }
48
+
49
+ export interface ContactMethod {
50
+ id: string;
51
+ icon: ReactNode;
52
+ label?: ReactNode;
7
53
  helper?: string;
8
- href?: string;
54
+ variant: 'phone' | 'email' | 'location';
9
55
  }
10
56
 
11
57
  export interface ContactMethodsSectionProps {
12
58
  items: ContactMethod[];
13
- title?: ReactNode;
14
59
  }
15
60
 
16
61
  export declare const ContactUsTemplate: FC<ContactUsTemplateProps>;
@@ -18,13 +63,32 @@ export declare const ContactUsTemplate: FC<ContactUsTemplateProps>;
18
63
  export declare interface ContactUsTemplateProps {
19
64
  jumbotron: Jumbotron2Props;
20
65
  contactMethods: ContactMethodsSectionProps;
21
- subjectOptions?: string[];
66
+ contactForm: ContactFormSectionProps;
67
+ faqSection: {
68
+ faqTitle: string;
69
+ faqItems: {
70
+ id: string;
71
+ question: string;
72
+ answer: string;
73
+ }[];
74
+ faqCta: ReactNode;
75
+ };
22
76
  }
23
77
 
78
+ export type IconPosition = 'left' | 'right' | 'top';
79
+
24
80
  export interface Jumbotron2Props {
25
81
  title: string;
26
82
  subtitle?: string;
27
83
  className?: string;
28
84
  children?: React.ReactNode;
29
85
  }
86
+
87
+ export type ResponsiveButtonVariant = ButtonVariant | {
88
+ initial?: ButtonVariant;
89
+ sm?: ButtonVariant;
90
+ md?: ButtonVariant;
91
+ lg?: ButtonVariant;
92
+ xl?: ButtonVariant;
93
+ };
30
94
 
@@ -1,14 +1,29 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import { ContactFormSection as a } from "./ContactFormSection.js";
3
- import { Jumbotron2 as t } from "./Jumbotron2.js";
4
- import { ContactMethodsSection as m } from "./ContactMethodsSection.js";
5
- const n = ({ jumbotron: o, contactMethods: r }) => /* @__PURE__ */ e("main", { className: "bg-primary-50 flex-1 px-4 py-12 lg:px-0", children: /* @__PURE__ */ l("div", { className: "relative mx-auto flex w-full max-w-6xl flex-col gap-12", children: [
6
- /* @__PURE__ */ e(t, { ...o }),
7
- /* @__PURE__ */ l("div", { className: "relative flex flex-col gap-10 lg:flex-row", children: [
8
- /* @__PURE__ */ e("div", { className: "flex-1 space-y-8", children: /* @__PURE__ */ e(m, { ...r }) }),
9
- /* @__PURE__ */ e(a, {})
1
+ import { jsx as a, jsxs as e } from "react/jsx-runtime";
2
+ import { ContactFormSection as i } from "./ContactFormSection.js";
3
+ import { Jumbotron2 as o } from "./Jumbotron2.js";
4
+ import { ContactMethodsSection as c } from "./ContactMethodsSection.js";
5
+ import { Markdown as d } from "./Markdown.js";
6
+ import { LinkWrapper as p } from "./LinkWrapper.js";
7
+ const v = ({
8
+ jumbotron: m,
9
+ contactMethods: t,
10
+ contactForm: s,
11
+ faqSection: l
12
+ }) => /* @__PURE__ */ a("main", { className: "bg-primary-50 py-10 md:px-6 md:pb-20 lg:px-8 xl:px-0", children: /* @__PURE__ */ e("div", { className: "relative mx-auto flex w-full max-w-300 flex-col gap-12", children: [
13
+ /* @__PURE__ */ a(o, { ...m, className: "pb-0!" }),
14
+ /* @__PURE__ */ e("div", { className: "relative flex flex-col gap-10 md:grid md:grid-cols-2 md:items-start md:gap-x-10 md:gap-y-8 lg:gap-x-16 xl:gap-x-20", children: [
15
+ /* @__PURE__ */ a(c, { ...t }),
16
+ /* @__PURE__ */ a("div", { className: "md:row-span-2", children: /* @__PURE__ */ a(i, { ...s }) }),
17
+ /* @__PURE__ */ e("div", { className: "flex flex-col gap-8 px-6", children: [
18
+ /* @__PURE__ */ a("h3", { className: "text-large text-primary-700 font-bold", children: l.faqTitle }),
19
+ /* @__PURE__ */ a("div", { className: "flex flex-col gap-8", children: l.faqItems.map((r) => /* @__PURE__ */ e("div", { className: "flex flex-col gap-4 text-neutral-800", children: [
20
+ /* @__PURE__ */ a("h4", { className: "text-big font-bold", children: r.question }),
21
+ /* @__PURE__ */ a(d, { content: r.answer, className: "text-medium [&_p:last-child]:mb-0" })
22
+ ] }, r.id)) }),
23
+ /* @__PURE__ */ a(p, { className: "w-fit", variant: "secondary-green", children: l.faqCta })
24
+ ] })
10
25
  ] })
11
26
  ] }) });
12
27
  export {
13
- n as ContactUsTemplate
28
+ v as ContactUsTemplate
14
29
  };
@@ -8,14 +8,14 @@ const f = ({
8
8
  required: r = !1,
9
9
  tooltip: a,
10
10
  onInputChange: c,
11
- containerClassName: d = "",
12
- ...o
13
- }) => /* @__PURE__ */ e("div", { className: `flex flex-col gap-2 ${d}`, children: [
11
+ containerClassName: o = "",
12
+ ...d
13
+ }) => /* @__PURE__ */ e("div", { className: `flex flex-col gap-2 ${o}`, children: [
14
14
  /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: [
15
15
  /* @__PURE__ */ e("label", { htmlFor: t, className: "font-bold text-neutral-800", children: [
16
16
  n,
17
17
  " ",
18
- r && /* @__PURE__ */ l("span", { className: "text-red-500", children: "*" })
18
+ r && /* @__PURE__ */ l("span", { className: "text-neutral-800", children: "*" })
19
19
  ] }),
20
20
  a && /* @__PURE__ */ l(
21
21
  "span",
@@ -39,7 +39,7 @@ const f = ({
39
39
  onChange: (x) => {
40
40
  c?.(x.target.value);
41
41
  },
42
- ...o
42
+ ...d
43
43
  }
44
44
  )
45
45
  ] });
@@ -1,12 +1,12 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- const c = ({ title: r, subtitle: t, className: l, children: a }) => /* @__PURE__ */ e("section", { className: `text-center ${l ?? ""}`, children: /* @__PURE__ */ s("div", { className: "container mx-auto px-4 pb-10 md:px-8", children: [
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ const o = ({ title: r, subtitle: t, className: l, children: a }) => /* @__PURE__ */ s("section", { className: `mx-auto px-4 pb-10 text-center md:px-8 ${l ?? ""}`, children: [
3
3
  /* @__PURE__ */ s("div", { className: "flex flex-col items-center gap-2 text-neutral-600", children: [
4
4
  /* @__PURE__ */ e("h1", { className: "text-small font-bold", children: r }),
5
5
  /* @__PURE__ */ e("span", { className: "h-px w-24 bg-neutral-200", "aria-hidden": !0 })
6
6
  ] }),
7
7
  t && /* @__PURE__ */ e("h2", { className: "font-lora text-super-hero text-neutral-900", children: t }),
8
8
  a !== void 0 && /* @__PURE__ */ e("div", { className: "mt-4", children: a })
9
- ] }) });
9
+ ] });
10
10
  export {
11
- c as Jumbotron2
11
+ o as Jumbotron2
12
12
  };
@@ -1,12 +1,12 @@
1
- import { jsx as o } from "react/jsx-runtime";
1
+ import { jsx as c } from "react/jsx-runtime";
2
2
  import "react";
3
- const i = (r) => /* @__PURE__ */ o("svg", { xmlns: "http://www.w3.org/2000/svg", width: 20, height: 20, viewBox: "0 0 20 20", fill: "none", ...r, children: /* @__PURE__ */ o(
3
+ const t = (o) => /* @__PURE__ */ c("svg", { xmlns: "http://www.w3.org/2000/svg", width: 20, height: 20, viewBox: "0 0 20 20", fill: "none", ...o, children: /* @__PURE__ */ c(
4
4
  "path",
5
5
  {
6
6
  d: "M10 17.77c-.194 0-.389-.034-.583-.103a1.533 1.533 0 01-.521-.313A32.581 32.581 0 016.5 14.917a18.06 18.06 0 01-1.74-2.303 10.96 10.96 0 01-1.062-2.145c-.243-.688-.365-1.344-.365-1.969 0-2.083.67-3.743 2.01-4.98C6.685 2.286 8.237 1.668 10 1.668c1.764 0 3.316.618 4.656 1.854 1.34 1.236 2.01 2.896 2.01 4.979 0 .625-.12 1.281-.364 1.969a10.956 10.956 0 01-1.062 2.146 18.056 18.056 0 01-1.74 2.302 32.567 32.567 0 01-2.396 2.437 1.533 1.533 0 01-.52.313c-.195.07-.39.104-.584.104zM10 10c.458 0 .85-.163 1.177-.49.327-.326.49-.718.49-1.177 0-.458-.163-.85-.49-1.177A1.605 1.605 0 0010 6.666c-.458 0-.85.164-1.177.49-.326.327-.49.719-.49 1.177 0 .459.164.851.49 1.177.326.327.719.49 1.177.49z",
7
- fill: "var(--color-primary-800)"
7
+ fill: o.fill ?? "var(--color-primary-800)"
8
8
  }
9
9
  ) });
10
10
  export {
11
- i as LocationIcon
11
+ t as LocationIcon
12
12
  };
@@ -1,12 +1,12 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as i } from "react/jsx-runtime";
2
2
  import "react";
3
- const r = (i) => /* @__PURE__ */ l("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "none", viewBox: "0 0 20 20", ...i, children: /* @__PURE__ */ l(
3
+ const a = (l) => /* @__PURE__ */ i("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "none", viewBox: "0 0 20 20", ...l, children: /* @__PURE__ */ i(
4
4
  "path",
5
5
  {
6
- fill: "var(--color-primary-800)",
6
+ fill: l.fill ?? "var(--color-primary-800)",
7
7
  d: "M3.333 16.667q-.687 0-1.177-.49A1.6 1.6 0 0 1 1.666 15V5q0-.687.49-1.177t1.177-.49h13.334q.687 0 1.177.49T18.334 5v10q0 .687-.49 1.177t-1.178.49zM10 10.687q.104 0 .219-.03a.9.9 0 0 0 .218-.095l5.896-3.687a.69.69 0 0 0 .334-.604.68.68 0 0 0-.355-.625q-.354-.209-.729.02L10 9.167l-5.583-3.5q-.375-.228-.73-.01a.69.69 0 0 0-.354.615q0 .208.083.364a.56.56 0 0 0 .25.24l5.896 3.687a.87.87 0 0 0 .438.125"
8
8
  }
9
9
  ) });
10
10
  export {
11
- r as MailFillIcon
11
+ a as MailFillIcon
12
12
  };
@@ -15,15 +15,15 @@ export type ButtonSize = 'small' | 'default' | 'large';
15
15
  export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
16
16
 
17
17
  export interface ContactMethod {
18
- icon: React.ReactNode;
19
- label: string;
18
+ id: string;
19
+ icon: ReactNode;
20
+ label?: ReactNode;
20
21
  helper?: string;
21
- href?: string;
22
+ variant: 'phone' | 'email' | 'location';
22
23
  }
23
24
 
24
25
  export interface ContactMethodsSectionProps {
25
26
  items: ContactMethod[];
26
- title?: ReactNode;
27
27
  }
28
28
 
29
29
  export interface DocumentItemProps {
@@ -1,19 +1,10 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { IntroSection as c } from "./IntroSection.js";
3
- import { Card as o } from "./Card.js";
4
- import { ContactMethodsSection as n } from "./ContactMethodsSection.js";
5
- import { DocumentItem as s } from "./DocumentItem.js";
6
- import { SearchBar as f } from "./SearchBar.js";
7
- const g = ({ intro: m, popularDocuments: r, searchBar: t, contactMethods: i }) => /* @__PURE__ */ l("main", { className: "flex-1", children: [
8
- /* @__PURE__ */ e(c, { ...m }),
9
- /* @__PURE__ */ e("div", { className: "bg-neutral-25 w-full", children: /* @__PURE__ */ l("div", { className: "mx-auto flex w-full max-w-6xl flex-col gap-8 px-6 py-16 lg:flex-row", children: [
10
- /* @__PURE__ */ e(o, { title: r.title, children: /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-4 pb-6", children: r.documents.map((a) => /* @__PURE__ */ e(s, { ...a, className: "w-48/100 shadow-none" }, a.id)) }) }),
11
- /* @__PURE__ */ l("div", { className: "flex flex-1 flex-col gap-6", children: [
12
- /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(f, { ...t }) }),
13
- /* @__PURE__ */ e(n, { ...i })
14
- ] })
15
- ] }) })
1
+ import { jsxs as a, jsx as l } from "react/jsx-runtime";
2
+ import { IntroSection as r } from "./IntroSection.js";
3
+ import { ContactMethodsSection as t } from "./ContactMethodsSection.js";
4
+ const i = ({ intro: e, contactMethods: o }) => /* @__PURE__ */ a("main", { className: "flex-1", children: [
5
+ /* @__PURE__ */ l(r, { ...e }),
6
+ /* @__PURE__ */ l("div", { className: "bg-neutral-25 w-full", children: /* @__PURE__ */ l("div", { className: "mx-auto flex w-full max-w-6xl flex-col gap-8 px-6 py-16 lg:flex-row", children: /* @__PURE__ */ l("div", { className: "flex flex-1 flex-col gap-6", children: /* @__PURE__ */ l(t, { ...o }) }) }) })
16
7
  ] });
17
8
  export {
18
- g as NotFoundTemplate
9
+ i as NotFoundTemplate
19
10
  };
@@ -13,7 +13,7 @@ const v = ({
13
13
  t && /* @__PURE__ */ l("label", { htmlFor: a, className: "text-medium font-bold text-neutral-800", children: [
14
14
  t,
15
15
  " ",
16
- i && /* @__PURE__ */ e("span", { className: "text-red-500", children: "*" })
16
+ i && /* @__PURE__ */ e("span", { className: "text-neutral-800", children: "*" })
17
17
  ] }),
18
18
  /* @__PURE__ */ l("div", { className: "relative", children: [
19
19
  /* @__PURE__ */ l(
@@ -3,7 +3,7 @@ const i = ({ label: r, id: e, name: s, required: l = !1, placeholder: n, ...o })
3
3
  /* @__PURE__ */ t("label", { htmlFor: e, className: "text-medium font-bold text-neutral-800", children: [
4
4
  r,
5
5
  " ",
6
- l && /* @__PURE__ */ a("span", { className: "text-red-500", children: "*" })
6
+ l && /* @__PURE__ */ a("span", { className: "text-neutral-800", children: "*" })
7
7
  ] }),
8
8
  /* @__PURE__ */ a(
9
9
  "textarea",