@npm_leadtech/legal-contracts-ui 0.99.2 → 0.99.4
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/components/AboutUsTemplate.d.ts +1 -0
- package/dist/components/AllDocumentsTemplate.d.ts +1 -0
- package/dist/components/Button.d.ts +2 -1
- package/dist/components/Button.js +14 -13
- package/dist/components/Card.d.ts +10 -0
- package/dist/components/Card.js +8 -0
- package/dist/components/CategoryProductTemplate.d.ts +1 -0
- package/dist/components/ContactFormSection.d.ts +1 -57
- package/dist/components/ContactFormSection.js +69 -91
- package/dist/components/ContactMethodCard.d.ts +3 -5
- package/dist/components/ContactMethodCard.js +7 -29
- package/dist/components/ContactMethodsSection.d.ts +4 -4
- package/dist/components/ContactMethodsSection.js +5 -4
- package/dist/components/ContactUsTemplate.d.ts +5 -69
- package/dist/components/ContactUsTemplate.js +10 -25
- package/dist/components/CtaSection.d.ts +1 -0
- package/dist/components/DocumentItem.d.ts +1 -0
- package/dist/components/DocumentItem.js +15 -11
- package/dist/components/DocumentSection.d.ts +1 -0
- package/dist/components/GuidelinesSection.d.ts +1 -0
- package/dist/components/Header.d.ts +2 -0
- package/dist/components/HowItWorksTemplate.d.ts +1 -0
- package/dist/components/Input.js +5 -5
- package/dist/components/IntroSection.d.ts +1 -0
- package/dist/components/Jumbotron2.js +4 -4
- package/dist/components/LocationIcon.js +4 -4
- package/dist/components/MailFillIcon.js +4 -4
- package/dist/components/MobileMenu.d.ts +2 -0
- package/dist/components/NotFoundTemplate.d.ts +11 -7
- package/dist/components/NotFoundTemplate.js +16 -7
- package/dist/components/SearchBar.d.ts +2 -0
- package/dist/components/SearchBar.js +33 -30
- package/dist/components/Select.js +1 -1
- package/dist/components/Textarea.js +1 -1
- package/dist/components/WeHelpSection.d.ts +1 -0
- package/dist/components/index.d.ts +17 -39
- package/dist/globals.css +1 -1
- package/package.json +5 -1
|
@@ -2,13 +2,14 @@ import { ComponentPropsWithRef } from 'react';
|
|
|
2
2
|
import { JSX } from 'react/jsx-runtime';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
|
|
5
|
-
export declare const Button: ({ children, type, size, variant, iconPosition, className, disabled, ref, ...props }: ButtonProps) => JSX.Element;
|
|
5
|
+
export declare const Button: ({ children, type, size, variant, iconPosition, className, disabled, href, ref, ...props }: ButtonProps) => JSX.Element;
|
|
6
6
|
|
|
7
7
|
export declare interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
|
|
8
8
|
children: ReactNode;
|
|
9
9
|
size?: ButtonSize;
|
|
10
10
|
variant?: ResponsiveButtonVariant;
|
|
11
11
|
iconPosition?: IconPosition;
|
|
12
|
+
href?: string;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export type ButtonSize = 'small' | 'default' | 'large';
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { getButtonClasses as p } from "./Button.utils.js";
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
3
2
|
import "react";
|
|
4
|
-
|
|
3
|
+
import { getButtonClasses as f } from "./Button.utils.js";
|
|
4
|
+
const N = ({
|
|
5
5
|
children: o,
|
|
6
|
-
type:
|
|
7
|
-
size:
|
|
8
|
-
variant:
|
|
9
|
-
iconPosition:
|
|
10
|
-
className:
|
|
6
|
+
type: m = "button",
|
|
7
|
+
size: c = "default",
|
|
8
|
+
variant: u = "primary-green",
|
|
9
|
+
iconPosition: l = "left",
|
|
10
|
+
className: p,
|
|
11
11
|
disabled: t = !1,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
href: s,
|
|
13
|
+
ref: r,
|
|
14
|
+
...a
|
|
14
15
|
}) => {
|
|
15
|
-
const
|
|
16
|
-
return /* @__PURE__ */
|
|
16
|
+
const n = f(c, u, l, t, p);
|
|
17
|
+
return s ? /* @__PURE__ */ e("a", { ref: r, href: s, className: n, ...a, children: o }) : /* @__PURE__ */ e("button", { ref: r, type: m, disabled: t, "aria-disabled": t, className: n, ...a, children: o });
|
|
17
18
|
};
|
|
18
19
|
export {
|
|
19
|
-
|
|
20
|
+
N as Button
|
|
20
21
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
const a = ({ title: l = null, children: r }) => /* @__PURE__ */ e("div", { className: "flex-1 rounded-2xl bg-white p-6 shadow-sm ring-1 ring-neutral-200", children: /* @__PURE__ */ s("div", { className: "flex flex-col gap-4", children: [
|
|
3
|
+
l !== null && /* @__PURE__ */ e("div", { className: "pb-4", children: l }),
|
|
4
|
+
r
|
|
5
|
+
] }) });
|
|
6
|
+
export {
|
|
7
|
+
a as Card
|
|
8
|
+
};
|
|
@@ -1,60 +1,4 @@
|
|
|
1
|
-
import { ComponentPropsWithRef } from 'react';
|
|
2
1
|
import { FC } from 'react';
|
|
3
|
-
import { ReactNode } from 'react';
|
|
4
2
|
|
|
5
|
-
export
|
|
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
|
-
};
|
|
3
|
+
export declare const ContactFormSection: FC;
|
|
60
4
|
|
|
@@ -1,104 +1,82 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { Textarea as
|
|
3
|
-
import { Checkbox as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { Item as
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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" })
|
|
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" })
|
|
27
18
|
] }),
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
-
|
|
30
|
-
|
|
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,
|
|
31
24
|
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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"
|
|
36
31
|
}
|
|
37
32
|
),
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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,
|
|
64
|
-
{
|
|
65
|
-
label: a.label,
|
|
66
|
-
id: a.id,
|
|
67
|
-
name: a.name,
|
|
68
|
-
placeholder: a.placeholder,
|
|
69
|
-
options: p,
|
|
70
|
-
required: a.required
|
|
71
|
-
}
|
|
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,
|
|
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",
|
|
78
51
|
{
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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."
|
|
84
57
|
}
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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,
|
|
58
|
+
)
|
|
59
|
+
] }) }),
|
|
60
|
+
/* @__PURE__ */ e(
|
|
61
|
+
o,
|
|
92
62
|
{
|
|
93
|
-
id: "
|
|
94
|
-
image: /* @__PURE__ */
|
|
95
|
-
description:
|
|
96
|
-
className: "text-small flex items-start gap-
|
|
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"
|
|
97
67
|
}
|
|
98
68
|
),
|
|
99
|
-
/* @__PURE__ */
|
|
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
|
+
)
|
|
100
78
|
] })
|
|
101
79
|
] });
|
|
102
80
|
export {
|
|
103
|
-
|
|
81
|
+
y as ContactFormSection
|
|
104
82
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
2
|
|
|
4
3
|
export declare interface ContactMethod {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
label?: ReactNode;
|
|
4
|
+
icon: React.ReactNode;
|
|
5
|
+
label: string;
|
|
8
6
|
helper?: string;
|
|
9
|
-
|
|
7
|
+
link?: string;
|
|
10
8
|
}
|
|
11
9
|
|
|
12
10
|
export declare const ContactMethodCard: FC<ContactMethod>;
|
|
@@ -1,33 +1,11 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/* @__PURE__ */
|
|
6
|
-
|
|
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 })
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
const i = ({ icon: n, label: r, helper: t, link: 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: r }) : /* @__PURE__ */ e("p", { className: "text-medium text-primary-800 font-bold", children: r }),
|
|
6
|
+
t && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: t })
|
|
29
7
|
] })
|
|
30
8
|
] });
|
|
31
9
|
export {
|
|
32
|
-
|
|
10
|
+
i as ContactMethodCard
|
|
33
11
|
};
|
|
@@ -2,16 +2,16 @@ import { FC } from 'react';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
export interface ContactMethod {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
label?: ReactNode;
|
|
5
|
+
icon: React.ReactNode;
|
|
6
|
+
label: string;
|
|
8
7
|
helper?: string;
|
|
9
|
-
|
|
8
|
+
link?: string;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
export declare const ContactMethodsSection: FC<ContactMethodsSectionProps>;
|
|
13
12
|
|
|
14
13
|
export declare interface ContactMethodsSectionProps {
|
|
15
14
|
items: ContactMethod[];
|
|
15
|
+
title?: ReactNode;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
|
|
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)) }) }) });
|
|
4
5
|
export {
|
|
5
|
-
|
|
6
|
+
n as ContactMethodsSection
|
|
6
7
|
};
|
|
@@ -1,61 +1,16 @@
|
|
|
1
|
-
import { ComponentPropsWithRef } from 'react';
|
|
2
1
|
import { FC } from 'react';
|
|
3
2
|
import { ReactNode } from 'react';
|
|
4
3
|
|
|
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 {
|
|
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
4
|
export interface ContactMethod {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
label?: ReactNode;
|
|
5
|
+
icon: React.ReactNode;
|
|
6
|
+
label: string;
|
|
53
7
|
helper?: string;
|
|
54
|
-
|
|
8
|
+
link?: string;
|
|
55
9
|
}
|
|
56
10
|
|
|
57
11
|
export interface ContactMethodsSectionProps {
|
|
58
12
|
items: ContactMethod[];
|
|
13
|
+
title?: ReactNode;
|
|
59
14
|
}
|
|
60
15
|
|
|
61
16
|
export declare const ContactUsTemplate: FC<ContactUsTemplateProps>;
|
|
@@ -63,32 +18,13 @@ export declare const ContactUsTemplate: FC<ContactUsTemplateProps>;
|
|
|
63
18
|
export declare interface ContactUsTemplateProps {
|
|
64
19
|
jumbotron: Jumbotron2Props;
|
|
65
20
|
contactMethods: ContactMethodsSectionProps;
|
|
66
|
-
|
|
67
|
-
faqSection: {
|
|
68
|
-
faqTitle: string;
|
|
69
|
-
faqItems: {
|
|
70
|
-
id: string;
|
|
71
|
-
question: string;
|
|
72
|
-
answer: string;
|
|
73
|
-
}[];
|
|
74
|
-
faqCta: ReactNode;
|
|
75
|
-
};
|
|
21
|
+
subjectOptions?: string[];
|
|
76
22
|
}
|
|
77
23
|
|
|
78
|
-
export type IconPosition = 'left' | 'right' | 'top';
|
|
79
|
-
|
|
80
24
|
export interface Jumbotron2Props {
|
|
81
25
|
title: string;
|
|
82
26
|
subtitle?: string;
|
|
83
27
|
className?: string;
|
|
84
28
|
children?: React.ReactNode;
|
|
85
29
|
}
|
|
86
|
-
|
|
87
|
-
export type ResponsiveButtonVariant = ButtonVariant | {
|
|
88
|
-
initial?: ButtonVariant;
|
|
89
|
-
sm?: ButtonVariant;
|
|
90
|
-
md?: ButtonVariant;
|
|
91
|
-
lg?: ButtonVariant;
|
|
92
|
-
xl?: ButtonVariant;
|
|
93
|
-
};
|
|
94
30
|
|
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { ContactFormSection as
|
|
3
|
-
import { Jumbotron2 as
|
|
4
|
-
import { ContactMethodsSection as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
] })
|
|
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, {})
|
|
25
10
|
] })
|
|
26
11
|
] }) });
|
|
27
12
|
export {
|
|
28
|
-
|
|
13
|
+
n as ContactUsTemplate
|
|
29
14
|
};
|
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { ChevronRightIcon as
|
|
4
|
-
const
|
|
1
|
+
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import l from "clsx";
|
|
3
|
+
import { ChevronRightIcon as o } from "./ChevronRightIcon.js";
|
|
4
|
+
const f = ({ link: e, description: i, className: n = "", title: a }) => /* @__PURE__ */ t(
|
|
5
5
|
"article",
|
|
6
6
|
{
|
|
7
|
-
className:
|
|
7
|
+
className: l(
|
|
8
8
|
'hover:border-primary-500 text-medium hover:ring-primary-500 relative flex cursor-pointer flex-col gap-2 rounded border border-neutral-200 bg-white pt-4 pr-4 pb-6 pl-6 text-neutral-800 transition-all hover:ring-1 hover:ring-inset [&_a]:before:absolute [&_a]:before:inset-0 [&_a]:before:content-[""]',
|
|
9
|
-
|
|
9
|
+
n
|
|
10
10
|
),
|
|
11
11
|
children: [
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */
|
|
12
|
+
e != null && typeof e == "string" && /* @__PURE__ */ t("a", { href: e, className: "flex justify-between", children: [
|
|
13
|
+
/* @__PURE__ */ r("p", { className: "flex-1 font-bold", children: a }),
|
|
14
|
+
/* @__PURE__ */ r(o, { "aria-hidden": !0 })
|
|
15
15
|
] }),
|
|
16
|
-
/* @__PURE__ */
|
|
16
|
+
e != null && typeof e != "string" && /* @__PURE__ */ t("div", { className: "flex justify-between", children: [
|
|
17
|
+
/* @__PURE__ */ r("div", { className: "flex-1 font-bold", children: e }),
|
|
18
|
+
/* @__PURE__ */ r(o, { "aria-hidden": !0 })
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ r("p", { children: i })
|
|
17
21
|
]
|
|
18
22
|
}
|
|
19
23
|
);
|
|
20
24
|
export {
|
|
21
|
-
|
|
25
|
+
f as DocumentItem
|
|
22
26
|
};
|