@npm_leadtech/legal-contracts-ui 0.101.18 → 0.102.0

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.
Files changed (54) hide show
  1. package/dist/components/AboutUsTemplate.d.ts +6 -6
  2. package/dist/components/AboutUsTemplate.js +28 -28
  3. package/dist/components/BlogSection.d.ts +0 -1
  4. package/dist/components/CategoriesSection.d.ts +0 -1
  5. package/dist/components/CategoryProductTemplate.d.ts +0 -1
  6. package/dist/components/CheckIcon.d.ts +4 -0
  7. package/dist/components/CheckIcon.js +12 -0
  8. package/dist/components/Checkbox.d.ts +2 -0
  9. package/dist/components/Checkbox.js +25 -12
  10. package/dist/components/ClearIcon.d.ts +4 -0
  11. package/dist/components/ClearIcon.js +12 -0
  12. package/dist/components/ContactFormSection.d.ts +39 -12
  13. package/dist/components/ContactFormSection.js +64 -94
  14. package/dist/components/ContactMethodCard.js +25 -24
  15. package/dist/components/ContactUsSection.d.ts +0 -1
  16. package/dist/components/ContactUsTemplate.d.ts +41 -12
  17. package/dist/components/ContactUsTemplate.js +32 -22
  18. package/dist/components/DoneIcon.d.ts +4 -0
  19. package/dist/components/DoneIcon.js +12 -0
  20. package/dist/components/ExpertsSection.d.ts +0 -1
  21. package/dist/components/ExpertsSection.js +6 -6
  22. package/dist/components/FaqTeaserSection.d.ts +0 -1
  23. package/dist/components/FaqsTemplate.d.ts +1 -0
  24. package/dist/components/GuidelinesSection.d.ts +2 -3
  25. package/dist/components/GuidelinesSection.js +9 -10
  26. package/dist/components/HomeTemplate.d.ts +0 -1
  27. package/dist/components/Input.d.ts +2 -0
  28. package/dist/components/Input.js +110 -43
  29. package/dist/components/Jumbotron2.d.ts +1 -0
  30. package/dist/components/Jumbotron2.js +24 -10
  31. package/dist/components/MissionSection.d.ts +1 -1
  32. package/dist/components/MissionSection.js +9 -10
  33. package/dist/components/MoreTemplatesSection.d.ts +0 -1
  34. package/dist/components/PartnersSection.d.ts +1 -2
  35. package/dist/components/PartnersSection.js +7 -8
  36. package/dist/components/ProcessSection.d.ts +0 -1
  37. package/dist/components/QuestionOutlineIcon.d.ts +4 -0
  38. package/dist/components/QuestionOutlineIcon.js +15 -0
  39. package/dist/components/SectionHeading.d.ts +0 -1
  40. package/dist/components/SectionHeading.js +16 -20
  41. package/dist/components/Select.d.ts +2 -0
  42. package/dist/components/Select.js +51 -35
  43. package/dist/components/SinglePhoneIcon.js +4 -4
  44. package/dist/components/Storyline.js +16 -17
  45. package/dist/components/Textarea.d.ts +2 -0
  46. package/dist/components/Textarea.js +30 -11
  47. package/dist/components/Toast.js +1 -1
  48. package/dist/components/TrustPilotSection.js +7 -9
  49. package/dist/components/TrustSection.d.ts +0 -1
  50. package/dist/components/ValuesSection.d.ts +1 -1
  51. package/dist/components/ValuesSection.js +9 -10
  52. package/dist/components/index.d.ts +1257 -0
  53. package/dist/globals.css +1 -1
  54. package/package.json +17 -1
@@ -64,12 +64,12 @@ export interface GuidelinesSectionProps {
64
64
  guidelineCards: Array<{
65
65
  title: string;
66
66
  image: ReactNode;
67
- content: string;
67
+ content: ReactNode;
68
68
  }>;
69
69
  footerCard: {
70
70
  title: string;
71
71
  image: ReactNode;
72
- content: string;
72
+ content: ReactNode;
73
73
  cta: ButtonProps;
74
74
  };
75
75
  }
@@ -89,17 +89,18 @@ export interface Jumbotron2Props {
89
89
  subtitle?: string;
90
90
  className?: string;
91
91
  children?: React.ReactNode;
92
+ variant?: 'default' | 'contact';
92
93
  }
93
94
 
94
95
  export interface MissionSectionProps {
95
96
  title: string;
96
- body: string;
97
+ children: ReactNode;
97
98
  image: ReactNode;
98
99
  }
99
100
 
100
101
  export interface PartnersSectionProps {
101
102
  header: SectionHeadingProps;
102
- body: string;
103
+ children: ReactNode;
103
104
  partners: Array<{
104
105
  name: string;
105
106
  logo: ReactNode;
@@ -120,7 +121,6 @@ export interface SectionHeadingProps {
120
121
  align?: 'start' | 'center';
121
122
  titleClass?: string;
122
123
  className?: string;
123
- hasMaxWidth?: boolean;
124
124
  }
125
125
 
126
126
  export interface StorylineProps {
@@ -141,7 +141,7 @@ export interface TrustPilotSectionProps {
141
141
 
142
142
  export interface ValuesSectionProps {
143
143
  title: string;
144
- body: string;
144
+ children: ReactNode;
145
145
  image: ReactNode;
146
146
  }
147
147
 
@@ -1,16 +1,16 @@
1
- import { jsxs as x, jsx as o } from "react/jsx-runtime";
2
- import { MissionSection as S } from "./MissionSection.js";
3
- import { ValuesSection as u } from "./ValuesSection.js";
1
+ import { jsxs as S, jsx as o } from "react/jsx-runtime";
2
+ import { MissionSection as u } from "./MissionSection.js";
3
+ import { ValuesSection as x } from "./ValuesSection.js";
4
4
  import { Storyline as b } from "./Storyline.js";
5
- import { WeHelpSection as y } from "./WeHelpSection.js";
6
- import { GuidelinesSection as N } from "./GuidelinesSection.js";
7
- import { ExpertsSection as d } from "./ExpertsSection.js";
8
- import { TrustPilotSection as g } from "./TrustPilotSection.js";
9
- import { PartnersSection as j } from "./PartnersSection.js";
10
- import { CtaSection as w } from "./CtaSection.js";
11
- import { ContactUsSection as C } from "./ContactUsSection.js";
12
- import { Jumbotron2 as P } from "./Jumbotron2.js";
13
- import { IntroSection as T } from "./IntroSection.js";
5
+ import { WeHelpSection as d } from "./WeHelpSection.js";
6
+ import { GuidelinesSection as j } from "./GuidelinesSection.js";
7
+ import { ExpertsSection as y } from "./ExpertsSection.js";
8
+ import { TrustPilotSection as C } from "./TrustPilotSection.js";
9
+ import { PartnersSection as N } from "./PartnersSection.js";
10
+ import { CtaSection as P } from "./CtaSection.js";
11
+ import { ContactUsSection as T } from "./ContactUsSection.js";
12
+ import { Jumbotron2 as U } from "./Jumbotron2.js";
13
+ import { IntroSection as g } from "./IntroSection.js";
14
14
  const v = ({
15
15
  jumbotron: t,
16
16
  intro: r,
@@ -18,25 +18,25 @@ const v = ({
18
18
  coreValues: i,
19
19
  storyline: e,
20
20
  howWeHelp: n,
21
- guidelines: l,
22
- experts: p,
21
+ guidelines: p,
22
+ experts: f,
23
23
  trustPilot: s,
24
- partners: f,
25
- cta: c,
24
+ partners: c,
25
+ cta: l,
26
26
  contactUs: a
27
- }) => /* @__PURE__ */ x("main", { className: "mx-auto flex w-full flex-1 flex-col text-neutral-800", children: [
28
- /* @__PURE__ */ o(P, { ...t, className: "bg-primary-50 w-full py-4 text-3xl" }),
29
- /* @__PURE__ */ o(T, { ...r, className: "bg-primary-50" }),
30
- /* @__PURE__ */ o(S, { ...m }),
31
- /* @__PURE__ */ o(u, { ...i }),
27
+ }) => /* @__PURE__ */ S("main", { className: "mx-auto flex w-full flex-1 flex-col text-neutral-800", children: [
28
+ /* @__PURE__ */ o(U, { ...t }),
29
+ /* @__PURE__ */ o(g, { ...r, className: "bg-primary-50" }),
30
+ /* @__PURE__ */ o(u, { ...m }),
31
+ /* @__PURE__ */ o(x, { ...i }),
32
32
  /* @__PURE__ */ o(b, { ...e }),
33
- /* @__PURE__ */ o(y, { ...n }),
34
- /* @__PURE__ */ o(N, { ...l }),
35
- /* @__PURE__ */ o(d, { ...p }),
36
- /* @__PURE__ */ o(g, { ...s }),
37
- /* @__PURE__ */ o(j, { ...f }),
38
- /* @__PURE__ */ o(w, { ...c }),
39
- /* @__PURE__ */ o(C, { ...a })
33
+ /* @__PURE__ */ o(d, { ...n }),
34
+ /* @__PURE__ */ o(j, { ...p }),
35
+ /* @__PURE__ */ o(y, { ...f }),
36
+ /* @__PURE__ */ o(C, { ...s }),
37
+ /* @__PURE__ */ o(N, { ...c }),
38
+ /* @__PURE__ */ o(P, { ...l }),
39
+ /* @__PURE__ */ o(T, { ...a })
40
40
  ] });
41
41
  export {
42
42
  v as AboutUsTemplate
@@ -22,6 +22,5 @@ export interface SectionHeadingProps {
22
22
  align?: 'start' | 'center';
23
23
  titleClass?: string;
24
24
  className?: string;
25
- hasMaxWidth?: boolean;
26
25
  }
27
26
 
@@ -20,6 +20,5 @@ export interface SectionHeadingProps {
20
20
  align?: 'start' | 'center';
21
21
  titleClass?: string;
22
22
  className?: string;
23
- hasMaxWidth?: boolean;
24
23
  }
25
24
 
@@ -86,6 +86,5 @@ export interface SectionHeadingProps {
86
86
  align?: 'start' | 'center';
87
87
  titleClass?: string;
88
88
  className?: string;
89
- hasMaxWidth?: boolean;
90
89
  }
91
90
 
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const CheckIcon: FC<React.SVGProps<SVGSVGElement>>;
4
+
@@ -0,0 +1,12 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import "react";
3
+ const l = (i) => /* @__PURE__ */ o("svg", { width: "16", height: "16", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", ...i, children: /* @__PURE__ */ o(
4
+ "path",
5
+ {
6
+ fill: i.fill ?? "var(--color-primary-800)",
7
+ d: "M5.867 10.6 3.533 8.267A.66.66 0 1 0 2.6 9.2l3.089 3.089a.25.25 0 0 0 .355 0L13.4 4.933A.66.66 0 0 0 12.467 4z"
8
+ }
9
+ ) });
10
+ export {
11
+ l as CheckIcon
12
+ };
@@ -8,5 +8,7 @@ export declare interface CheckboxProps extends React.InputHTMLAttributes<HTMLInp
8
8
  name: string;
9
9
  required?: boolean;
10
10
  children: ReactNode;
11
+ error?: boolean;
12
+ errorMessage?: string;
11
13
  }
12
14
 
@@ -1,18 +1,31 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- const n = ({ id: t, name: r, required: s = !1, children: i, ...l }) => /* @__PURE__ */ a("label", { className: "text-medium flex items-center gap-3 text-neutral-800", children: [
3
- /* @__PURE__ */ e(
4
- "input",
1
+ import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
+ import m from "clsx";
3
+ import { CheckIcon as c } from "./CheckIcon.js";
4
+ const u = ({
5
+ id: o,
6
+ name: s,
7
+ required: i = !1,
8
+ children: l,
9
+ checked: e,
10
+ error: t = !1,
11
+ ...n
12
+ }) => /* @__PURE__ */ a("label", { htmlFor: o, className: "text-medium flex cursor-pointer items-center gap-2 text-neutral-800 select-none", children: [
13
+ /* @__PURE__ */ r("input", { id: o, name: s, type: "checkbox", required: i, className: "peer sr-only", ...n }),
14
+ /* @__PURE__ */ r(
15
+ "div",
5
16
  {
6
- id: t,
7
- type: "checkbox",
8
- name: r,
9
- required: s,
10
- className: "text-primary-700 focus-visible:outline-primary-500 h-5 w-5 rounded border-neutral-400 focus-visible:outline-2",
11
- ...l
17
+ className: m(
18
+ "flex h-5.5 w-5.5 items-center justify-center rounded transition-colors",
19
+ "peer-focus-visible:ring-primary-500 peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2",
20
+ !t && !e && "hover:bg-primary-200 border border-neutral-800 bg-white",
21
+ e && "border-primary-500 bg-primary-200 border-2",
22
+ t && "border-error-500 bg-error-20 border"
23
+ ),
24
+ children: e && /* @__PURE__ */ r(c, {})
12
25
  }
13
26
  ),
14
- /* @__PURE__ */ e("span", { children: i })
27
+ /* @__PURE__ */ r("span", { className: "leading-tight text-neutral-800", children: l })
15
28
  ] });
16
29
  export {
17
- n as Checkbox
30
+ u as Checkbox
18
31
  };
@@ -0,0 +1,4 @@
1
+ import * as React_2 from 'react';
2
+
3
+ export declare const ClearIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
4
+
@@ -0,0 +1,12 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import "react";
3
+ const t = (r) => /* @__PURE__ */ i("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...r, children: /* @__PURE__ */ i(
4
+ "path",
5
+ {
6
+ d: "M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z",
7
+ fill: r.fill ?? "var(--color-primary-800)"
8
+ }
9
+ ) });
10
+ export {
11
+ t as ClearIcon
12
+ };
@@ -1,3 +1,5 @@
1
+ import { ChangeEventHandler } from 'react';
2
+ import { ComponentProps } from 'react';
1
3
  import { ComponentPropsWithRef } from 'react';
2
4
  import { FC } from 'react';
3
5
  import { ReactNode } from 'react';
@@ -13,6 +15,17 @@ export type ButtonSize = 'small' | 'default' | 'large';
13
15
 
14
16
  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
17
 
18
+ export interface ContactFormCheckboxFieldProps extends Omit<ContactFormFieldProps, 'placeholder' | 'tooltip'> {
19
+ checked: boolean;
20
+ onChange: ChangeEventHandler<HTMLInputElement>;
21
+ }
22
+
23
+ export interface ContactFormFeedbackProps {
24
+ message: string;
25
+ title?: string;
26
+ cta: ReactNode | ButtonProps;
27
+ }
28
+
16
29
  export declare interface ContactFormFieldProps {
17
30
  label: string;
18
31
  id: string;
@@ -20,6 +33,7 @@ export declare interface ContactFormFieldProps {
20
33
  placeholder?: string;
21
34
  required?: boolean;
22
35
  tooltip?: string;
36
+ error?: boolean;
23
37
  errorMessage?: string;
24
38
  }
25
39
 
@@ -31,23 +45,36 @@ export declare interface ContactFormSectionProps {
31
45
  label: string;
32
46
  value: string;
33
47
  }[];
34
- fullNameField: Omit<ContactFormFieldProps, 'tooltip'>;
35
- emailField: Omit<ContactFormFieldProps, 'tooltip'>;
36
- referenceNumberField: ContactFormFieldProps;
37
- subjectField: Omit<ContactFormFieldProps, 'tooltip'>;
38
- messageField: Omit<ContactFormFieldProps, 'tooltip'>;
48
+ fullNameField: Omit<ContactFormTextFieldProps, 'tooltip'>;
49
+ emailField: Omit<ContactFormTextFieldProps, 'tooltip'>;
50
+ referenceNumberField: ContactFormTextFieldProps;
51
+ subjectField: ContactFormSelectFieldProps;
52
+ messageField: ContactFormTextareaFieldProps;
39
53
  requiredFieldsText: string;
40
- privacyField: Omit<ContactFormFieldProps, 'tooltip'>;
54
+ privacyField: ContactFormCheckboxFieldProps;
41
55
  securityHint: string;
42
- feedback?: {
43
- type: 'success' | 'error';
44
- message: string;
45
- title?: string;
46
- cta?: ReactNode;
47
- };
56
+ status?: 'default' | 'loading' | 'success' | 'error';
57
+ successFeedback: ContactFormFeedbackProps;
58
+ errorFeedback: ContactFormFeedbackProps;
59
+ onSubmit?: ComponentProps<'form'>['onSubmit'];
48
60
  button: ButtonProps;
49
61
  }
50
62
 
63
+ export interface ContactFormSelectFieldProps extends Omit<ContactFormFieldProps, 'tooltip'> {
64
+ value: string;
65
+ onChange: ChangeEventHandler<HTMLSelectElement>;
66
+ }
67
+
68
+ export interface ContactFormTextareaFieldProps extends Omit<ContactFormFieldProps, 'tooltip'> {
69
+ value: string;
70
+ onChange: ChangeEventHandler<HTMLTextAreaElement>;
71
+ }
72
+
73
+ export interface ContactFormTextFieldProps extends ContactFormFieldProps {
74
+ value: string;
75
+ onChange: ChangeEventHandler<HTMLInputElement>;
76
+ }
77
+
51
78
  export type IconPosition = 'left' | 'right' | 'top';
52
79
 
53
80
  export type ResponsiveButtonVariant = ButtonVariant | {
@@ -1,104 +1,74 @@
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" })
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { Textarea as b } from "./Textarea.js";
3
+ import { Checkbox as v } from "./Checkbox.js";
4
+ import { ClearIcon as y } from "./ClearIcon.js";
5
+ import { DoneIcon as w } from "./DoneIcon.js";
6
+ import { Input as n } from "./Input.js";
7
+ import { Select as j } from "./Select.js";
8
+ import { Markdown as I } from "./Markdown.js";
9
+ import { InfoIcon as S } from "./InfoIcon.js";
10
+ import { Button as o } from "./Button.js";
11
+ import { LinkWrapper as k } from "./LinkWrapper.js";
12
+ const C = () => /* @__PURE__ */ e("div", { role: "status", "aria-live": "polite", className: "mt-6 flex items-center justify-center rounded py-6", children: /* @__PURE__ */ e("div", { className: "border-primary-500 h-[25px] w-[25px] animate-spin rounded-full border-3 border-t-transparent" }) }), L = ({ title: r, message: l, cta: i }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
13
+ /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-2", children: [
14
+ /* @__PURE__ */ e("div", { className: "bg-error-20 w-fit rounded-full p-3", children: /* @__PURE__ */ e(y, { width: 48, height: 48, fill: "var(--error-500)" }) }),
15
+ /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-800", children: r }),
16
+ /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: l })
27
17
  ] }),
28
- /* @__PURE__ */ s("form", { className: "mt-6 flex flex-col gap-6", noValidate: !0, children: [
29
- i && /* @__PURE__ */ r(
18
+ /* @__PURE__ */ e(o, { ...i, variant: "primary-green" })
19
+ ] }), B = ({ title: r, message: l, cta: i }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
20
+ /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-2", children: [
21
+ /* @__PURE__ */ e("div", { className: "bg-primary-100 w-fit rounded-full p-3", children: /* @__PURE__ */ e(w, { width: 48, height: 48, fill: "var(--primary-500)" }) }),
22
+ /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-800", children: r }),
23
+ /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: l })
24
+ ] }),
25
+ /* @__PURE__ */ e(k, { className: "w-fit", children: i })
26
+ ] }), G = ({
27
+ title: r,
28
+ subjectOptions: l,
29
+ fullNameField: i,
30
+ emailField: m,
31
+ referenceNumberField: d,
32
+ subjectField: p,
33
+ messageField: f,
34
+ privacyField: s,
35
+ requiredFieldsText: h,
36
+ securityHint: x,
37
+ status: a = "default",
38
+ successFeedback: u,
39
+ errorFeedback: N,
40
+ onSubmit: g,
41
+ button: c
42
+ }) => /* @__PURE__ */ t("section", { className: "rounded-sm bg-white p-8 shadow-sm", children: [
43
+ /* @__PURE__ */ t("div", { className: "space-y-4", children: [
44
+ /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-600", children: r }),
45
+ /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-200", "aria-hidden": "true" })
46
+ ] }),
47
+ a === "loading" && /* @__PURE__ */ e(C, {}),
48
+ a === "error" && /* @__PURE__ */ e(L, { ...N }),
49
+ a === "success" && /* @__PURE__ */ e(B, { ...u }),
50
+ a === "default" && /* @__PURE__ */ t("form", { className: "mt-6 flex flex-col gap-6", noValidate: !0, onSubmit: g, children: [
51
+ /* @__PURE__ */ e(n, { ...i, type: "text" }),
52
+ /* @__PURE__ */ e(n, { ...m, type: "email" }),
53
+ /* @__PURE__ */ e(n, { ...d }),
54
+ /* @__PURE__ */ e(j, { ...p, options: l }),
55
+ /* @__PURE__ */ e(b, { ...f }),
56
+ /* @__PURE__ */ e("p", { className: "text-medium text-neutral-600", children: h }),
57
+ /* @__PURE__ */ e(v, { ...s, children: /* @__PURE__ */ e(I, { className: "text-medium [&_p:last-child]:mb-0", content: s.label }) }),
58
+ /* @__PURE__ */ t(
30
59
  "div",
31
- {
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
36
- }
37
- ),
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,
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,
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,
92
60
  {
93
61
  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"
62
+ className: "text-small flex items-start gap-2 rounded bg-neutral-50 p-4 text-neutral-600",
63
+ children: [
64
+ /* @__PURE__ */ e(S, { width: 24, height: 24, "aria-hidden": "true" }),
65
+ /* @__PURE__ */ e("p", { children: x })
66
+ ]
97
67
  }
98
68
  ),
99
- /* @__PURE__ */ r(q, { ...x, variant: "primary-green", className: "w-fit self-center" })
69
+ /* @__PURE__ */ e(o, { ...c, className: "w-fit self-center", type: "submit", children: c.children })
100
70
  ] })
101
71
  ] });
102
72
  export {
103
- V as ContactFormSection
73
+ G as ContactFormSection
104
74
  };
@@ -1,36 +1,37 @@
1
- import { jsxs as i, Fragment as r, jsx as a } from "react/jsx-runtime";
2
- import { PhoneTalkIcon as n } from "./PhoneTalkIcon.js";
3
- import { MailFillIcon as m } from "./MailFillIcon.js";
4
- import { LocationIcon as c } from "./LocationIcon.js";
5
- import { LinkWrapper as t } from "./LinkWrapper.js";
6
- const y = ({ label: e, helper: l, variant: s }) => /* @__PURE__ */ i("article", { className: "bg-neutral-25 flex flex-wrap gap-2 rounded-sm p-4 md:flex-col", children: [
7
- s === "phone" && /* @__PURE__ */ i(r, { children: [
8
- /* @__PURE__ */ i(t, { variant: "primary-green", className: "w-full md:hidden", children: [
9
- /* @__PURE__ */ a(n, { fill: "white" }),
1
+ import { jsxs as l, Fragment as r, jsx as a } from "react/jsx-runtime";
2
+ import { SinglePhoneIcon as s } from "./SinglePhoneIcon.js";
3
+ import { PhoneTalkIcon as m } from "./PhoneTalkIcon.js";
4
+ import { MailFillIcon as c } from "./MailFillIcon.js";
5
+ import { LocationIcon as o } from "./LocationIcon.js";
6
+ import { LinkWrapper as n } from "./LinkWrapper.js";
7
+ const v = ({ label: e, helper: i, variant: t }) => /* @__PURE__ */ l("article", { className: "bg-neutral-25 flex flex-wrap gap-2 rounded-sm p-4 md:flex-col", children: [
8
+ t === "phone" && /* @__PURE__ */ l(r, { children: [
9
+ /* @__PURE__ */ l(n, { variant: "primary-green", className: "w-full md:hidden", children: [
10
+ /* @__PURE__ */ a(s, { width: 22, height: 22, fill: "white" }),
10
11
  " ",
11
12
  e
12
13
  ] }),
13
- /* @__PURE__ */ i("div", { className: "hidden gap-2 md:flex", children: [
14
- /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(n, { fill: "var(--primary-800)" }) }),
15
- /* @__PURE__ */ i("div", { className: "flex flex-col gap-1", children: [
16
- /* @__PURE__ */ a(t, { className: "justify-start! p-0! no-underline!", variant: "tertiary-link", children: /* @__PURE__ */ a("span", { className: "text-medium text-primary-800 font-bold", children: e }) }),
17
- l && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0", children: l })
14
+ /* @__PURE__ */ l("div", { className: "hidden gap-2 md:flex", children: [
15
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(m, { fill: "var(--primary-800)" }) }),
16
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-1", children: [
17
+ /* @__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: e }) }),
18
+ i && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0", children: i })
18
19
  ] })
19
20
  ] }),
20
- l && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0 md:hidden", children: l })
21
+ i && /* @__PURE__ */ a("p", { className: "text-small mx-auto text-neutral-600 md:mx-0 md:hidden", children: i })
21
22
  ] }),
22
- s === "email" && /* @__PURE__ */ i("div", { className: "flex gap-2", children: [
23
- /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(m, { fill: "var(--primary-800)" }) }),
24
- /* @__PURE__ */ i("div", { className: "flex flex-col gap-1", children: [
25
- /* @__PURE__ */ a(t, { className: "justify-start! p-0!", variant: "tertiary-link", children: /* @__PURE__ */ a("span", { className: "text-medium text-primary-800 font-bold", children: e }) }),
26
- l && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: l })
23
+ t === "email" && /* @__PURE__ */ l("div", { className: "flex gap-2", children: [
24
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(c, { fill: "var(--primary-800)" }) }),
25
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-1", children: [
26
+ /* @__PURE__ */ a(n, { className: "justify-start! p-0!", variant: "tertiary-link", children: /* @__PURE__ */ a("span", { className: "text-medium text-primary-800 font-bold", children: e }) }),
27
+ i && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: i })
27
28
  ] })
28
29
  ] }),
29
- s === "location" && /* @__PURE__ */ i("div", { className: "flex gap-2", children: [
30
- /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(c, { fill: "var(--primary-800)" }) }),
31
- l && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: l })
30
+ t === "location" && /* @__PURE__ */ l("div", { className: "flex gap-2", children: [
31
+ /* @__PURE__ */ a("span", { className: "shrink-0", children: /* @__PURE__ */ a(o, { fill: "var(--primary-800)" }) }),
32
+ i && /* @__PURE__ */ a("p", { className: "text-small text-neutral-600", children: i })
32
33
  ] })
33
34
  ] });
34
35
  export {
35
- y as ContactMethodCard
36
+ v as ContactMethodCard
36
37
  };
@@ -19,6 +19,5 @@ export interface SectionHeadingProps {
19
19
  align?: 'start' | 'center';
20
20
  titleClass?: string;
21
21
  className?: string;
22
- hasMaxWidth?: boolean;
23
22
  }
24
23