@npm_leadtech/legal-contracts-ui 0.124.10 → 0.125.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 (49) hide show
  1. package/dist/components/AboutUsTemplate.d.ts +1 -0
  2. package/dist/components/AiLegalDocumentReviewerTemplate.d.ts +2 -0
  3. package/dist/components/Blockquote.js +9 -9
  4. package/dist/components/Button.d.ts +2 -1
  5. package/dist/components/Button.js +23 -10
  6. package/dist/components/Checkbox.d.ts +1 -0
  7. package/dist/components/Checkbox.js +27 -15
  8. package/dist/components/ContactFormSection.d.ts +2 -0
  9. package/dist/components/ContactUsSection.d.ts +1 -0
  10. package/dist/components/ContactUsSection.js +6 -6
  11. package/dist/components/ContactUsTemplate.d.ts +2 -0
  12. package/dist/components/ConversionSection.d.ts +2 -0
  13. package/dist/components/ConversionSection.js +4 -4
  14. package/dist/components/CookiesBar.d.ts +1 -0
  15. package/dist/components/ElectronicSignatureTemplate.d.ts +1 -0
  16. package/dist/components/Footer.d.ts +1 -0
  17. package/dist/components/Footer.js +3 -3
  18. package/dist/components/Header.d.ts +1 -0
  19. package/dist/components/Hero2Section.d.ts +1 -0
  20. package/dist/components/HowItWorksLawGeniusSection.js +8 -8
  21. package/dist/components/HowItWorksTemplate.d.ts +1 -0
  22. package/dist/components/HowItWorksTemplate.js +22 -23
  23. package/dist/components/Input.d.ts +1 -0
  24. package/dist/components/Input.js +32 -30
  25. package/dist/components/IntroSection.js +12 -13
  26. package/dist/components/LanguageSelector.js +17 -14
  27. package/dist/components/LawGeniusImageShell.js +6 -6
  28. package/dist/components/MobileMenu.d.ts +1 -0
  29. package/dist/components/MobileMenu.js +5 -4
  30. package/dist/components/OrderedList.js +9 -9
  31. package/dist/components/PhoneButton.d.ts +2 -1
  32. package/dist/components/PhoneButton.js +5 -4
  33. package/dist/components/Preform.d.ts +2 -0
  34. package/dist/components/Preform.js +7 -6
  35. package/dist/components/PreformMobile.d.ts +2 -0
  36. package/dist/components/PreformOption.d.ts +1 -0
  37. package/dist/components/PreformOption.js +3 -2
  38. package/dist/components/ProductTemplate.d.ts +2 -0
  39. package/dist/components/RatafiaSection.js +34 -44
  40. package/dist/components/Select.d.ts +1 -0
  41. package/dist/components/Select.js +22 -20
  42. package/dist/components/Textarea.d.ts +1 -0
  43. package/dist/components/Textarea.js +18 -16
  44. package/dist/components/TwoColumnSection.js +10 -10
  45. package/dist/components/UploadZone.d.ts +1 -0
  46. package/dist/components/UploadZone.js +12 -11
  47. package/dist/components/index.d.ts +13 -1
  48. package/dist/globals.css +1 -1
  49. package/package.json +1 -1
@@ -31,6 +31,7 @@ export interface ContactUsSectionProps {
31
31
  icon: ReactNode;
32
32
  helper?: string;
33
33
  url?: string;
34
+ dataQa?: string;
34
35
  }>;
35
36
  }
36
37
 
@@ -32,6 +32,7 @@ export interface ConversionSectionProps {
32
32
  icon: ReactNode;
33
33
  title: string;
34
34
  uploadZone: UploadZoneProps;
35
+ dataQa?: string;
35
36
  }
36
37
 
37
38
  export interface FaqItemProps {
@@ -136,5 +137,6 @@ export interface UploadZoneProps {
136
137
  containerClassName?: string;
137
138
  onAddDocument?: () => void;
138
139
  onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
140
+ dataQa?: string;
139
141
  }
140
142
 
@@ -1,13 +1,13 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import l from "clsx";
3
- const b = ({ children: r, variant: e = "default" }) => {
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import o from "clsx";
3
+ const s = ({ children: r, variant: a = "default" }) => {
4
4
  const t = {
5
- default: "border-l-4 border-gray-300 pl-4 text-gray-700 ",
6
- "about-us": "text-gray-700 bg-neutral-25 pt-4 px-4 pb-0.5",
7
- unsubscribe: "border-l-4 border-neutral-300 pl-4 text-neutral-700 "
8
- }, a = t[e] ?? t.default;
9
- return /* @__PURE__ */ o("blockquote", { className: l("my-4 italic", a), children: r });
5
+ default: "my-4 border-l-4 border-gray-300 pl-4 text-gray-700 italic",
6
+ "about-us": "my-4 text-gray-700 italic bg-neutral-25 pt-4 px-4 pb-0.5",
7
+ unsubscribe: "my-4 border-l-4 border-neutral-300 pl-4 text-neutral-700 italic"
8
+ }, e = t[a] ?? t.default;
9
+ return /* @__PURE__ */ l("blockquote", { className: o("my-4 italic", e), children: r });
10
10
  };
11
11
  export {
12
- b as Blockquote
12
+ s as Blockquote
13
13
  };
@@ -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, ref, dataQa, ...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
+ dataQa?: string;
12
13
  }
13
14
 
14
15
  export type ButtonSize = 'small' | 'default' | 'large';
@@ -1,20 +1,33 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { getButtonClasses as p } from "./Button.utils.js";
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { getButtonClasses as c } from "./Button.utils.js";
3
3
  import "react";
4
- const x = ({
4
+ const B = ({
5
5
  children: o,
6
6
  type: r = "button",
7
- size: s = "default",
8
- variant: e = "primary-green",
9
- iconPosition: a = "left",
7
+ size: a = "default",
8
+ variant: s = "primary-green",
9
+ iconPosition: e = "left",
10
10
  className: n,
11
11
  disabled: t = !1,
12
12
  ref: m,
13
- ...u
13
+ dataQa: u,
14
+ ...f
14
15
  }) => {
15
- const f = p(s, e, a, t, n);
16
- return /* @__PURE__ */ l("button", { ref: m, type: r, disabled: t, "aria-disabled": t, className: f, ...u, children: o });
16
+ const l = c(a, s, e, t, n);
17
+ return /* @__PURE__ */ p(
18
+ "button",
19
+ {
20
+ "data-qa": u,
21
+ ref: m,
22
+ type: r,
23
+ disabled: t,
24
+ "aria-disabled": t,
25
+ className: l,
26
+ ...f,
27
+ children: o
28
+ }
29
+ );
17
30
  };
18
31
  export {
19
- x as Button
32
+ B as Button
20
33
  };
@@ -4,6 +4,7 @@ import { ReactNode } from 'react';
4
4
  export declare const Checkbox: FC<CheckboxProps>;
5
5
 
6
6
  export declare interface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {
7
+ dataQa?: string;
7
8
  id: string;
8
9
  name: string;
9
10
  required?: boolean;
@@ -1,31 +1,43 @@
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,
1
+ import { jsxs as m, jsx as r } from "react/jsx-runtime";
2
+ import c from "clsx";
3
+ import { CheckIcon as p } from "./CheckIcon.js";
4
+ const d = ({
5
+ dataQa: s,
6
+ id: t,
7
+ name: i,
8
+ required: a = !1,
8
9
  children: l,
9
10
  checked: e,
10
- error: t = !1,
11
+ error: o = !1,
11
12
  ...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 }),
13
+ }) => /* @__PURE__ */ m("label", { htmlFor: t, className: "text-medium flex cursor-pointer items-center gap-2 text-neutral-800 select-none", children: [
14
+ /* @__PURE__ */ r(
15
+ "input",
16
+ {
17
+ "data-qa": s,
18
+ id: t,
19
+ name: i,
20
+ type: "checkbox",
21
+ required: a,
22
+ className: "peer sr-only",
23
+ ...n
24
+ }
25
+ ),
14
26
  /* @__PURE__ */ r(
15
27
  "div",
16
28
  {
17
- className: m(
29
+ className: c(
18
30
  "flex h-5.5 w-5.5 items-center justify-center rounded transition-colors",
19
31
  "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",
32
+ !o && !e && "hover:bg-primary-200 border border-neutral-800 bg-white",
21
33
  e && "border-primary-500 bg-primary-200 border-2",
22
- t && "border-error-500 bg-error-20 border"
34
+ o && "border-error-500 bg-error-20 border"
23
35
  ),
24
- children: e && /* @__PURE__ */ r(c, {})
36
+ children: e && /* @__PURE__ */ r(p, {})
25
37
  }
26
38
  ),
27
39
  /* @__PURE__ */ r("span", { className: "leading-tight text-neutral-800", children: l })
28
40
  ] });
29
41
  export {
30
- u as Checkbox
42
+ d as Checkbox
31
43
  };
@@ -9,6 +9,7 @@ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'chil
9
9
  size?: ButtonSize;
10
10
  variant?: ResponsiveButtonVariant;
11
11
  iconPosition?: IconPosition;
12
+ dataQa?: string;
12
13
  }
13
14
 
14
15
  export type ButtonSize = 'small' | 'default' | 'large';
@@ -27,6 +28,7 @@ export interface ContactFormFeedbackProps {
27
28
  }
28
29
 
29
30
  export declare interface ContactFormFieldProps {
31
+ dataQa: string;
30
32
  label: string;
31
33
  id: string;
32
34
  name: string;
@@ -11,6 +11,7 @@ export declare interface ContactUsSectionProps {
11
11
  icon: ReactNode;
12
12
  helper?: string;
13
13
  url?: string;
14
+ dataQa?: string;
14
15
  }>;
15
16
  }
16
17
 
@@ -1,17 +1,17 @@
1
1
  import { jsx as l, jsxs as r } from "react/jsx-runtime";
2
- import a from "clsx";
2
+ import t from "clsx";
3
3
  import { SectionHeading as c } from "./SectionHeading.js";
4
- const d = ({ header: t, contactOptions: s }) => s.length === 0 ? null : /* @__PURE__ */ l("section", { className: "bg-neutral-25 px-4 pt-16 pb-20", children: /* @__PURE__ */ r("div", { className: "mx-auto max-w-6xl space-y-10", children: [
5
- /* @__PURE__ */ l(c, { ...t, className: "px-6" }),
6
- /* @__PURE__ */ l("div", { className: "flex flex-col items-center gap-6 sm:flex-row sm:items-start sm:justify-center", children: s.map((e) => /* @__PURE__ */ r(
4
+ const d = ({ header: s, contactOptions: a }) => a.length === 0 ? null : /* @__PURE__ */ l("section", { className: "bg-neutral-25 px-4 pt-16 pb-20", children: /* @__PURE__ */ r("div", { className: "mx-auto max-w-6xl space-y-10", children: [
5
+ /* @__PURE__ */ l(c, { ...s, className: "px-6" }),
6
+ /* @__PURE__ */ l("div", { className: "flex flex-col items-center gap-6 sm:flex-row sm:items-start sm:justify-center", children: a.map((e) => /* @__PURE__ */ r(
7
7
  "article",
8
8
  {
9
- className: a(
9
+ className: t(
10
10
  "relative flex h-36 w-52 flex-col items-center justify-center gap-4 rounded bg-white text-center shadow-sm",
11
11
  e.url && 'cursor-pointer [&_a]:before:absolute [&_a]:before:inset-0 [&_a]:before:content-[""]'
12
12
  ),
13
13
  children: [
14
- e.url && /* @__PURE__ */ l("a", { href: e.url, children: /* @__PURE__ */ l("span", { className: "sr-only", children: e.title }) }),
14
+ e.url && /* @__PURE__ */ l("a", { "data-qa": e.dataQa, href: e.url, children: /* @__PURE__ */ l("span", { className: "sr-only", children: e.title }) }),
15
15
  /* @__PURE__ */ l("div", { className: "bg-primary-50 rounded-full p-3", children: e.icon }),
16
16
  /* @__PURE__ */ r("div", { className: "flex flex-col items-center justify-center", children: [
17
17
  /* @__PURE__ */ l("p", { className: "text-neutral-800", children: e.title }),
@@ -9,6 +9,7 @@ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'chil
9
9
  size?: ButtonSize;
10
10
  variant?: ResponsiveButtonVariant;
11
11
  iconPosition?: IconPosition;
12
+ dataQa?: string;
12
13
  }
13
14
 
14
15
  export type ButtonSize = 'small' | 'default' | 'large';
@@ -27,6 +28,7 @@ export interface ContactFormFeedbackProps {
27
28
  }
28
29
 
29
30
  export interface ContactFormFieldProps {
31
+ dataQa: string;
30
32
  label: string;
31
33
  id: string;
32
34
  name: string;
@@ -7,6 +7,7 @@ export declare interface ConversionSectionProps {
7
7
  icon: ReactNode;
8
8
  title: string;
9
9
  uploadZone: UploadZoneProps;
10
+ dataQa?: string;
10
11
  }
11
12
 
12
13
  export interface UploadZoneProps {
@@ -17,5 +18,6 @@ export interface UploadZoneProps {
17
18
  containerClassName?: string;
18
19
  onAddDocument?: () => void;
19
20
  onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
21
+ dataQa?: string;
20
22
  }
21
23
 
@@ -1,12 +1,12 @@
1
1
  import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
- import { UploadZone as s } from "./UploadZone.js";
3
- const n = ({ icon: a, title: t, uploadZone: r }) => /* @__PURE__ */ e("section", { className: "bg-white px-6 py-8 xl:px-0", children: /* @__PURE__ */ l("div", { className: "bg-ratafia mx-auto flex w-full max-w-300 shrink flex-col gap-6 rounded-2xl p-6 md:flex-row md:items-center md:gap-10 md:p-8 lg:pe-10 lg:pl-16 xl:items-start xl:gap-20", children: [
2
+ import { UploadZone as m } from "./UploadZone.js";
3
+ const x = ({ icon: a, title: t, uploadZone: r, dataQa: s }) => /* @__PURE__ */ e("section", { className: "bg-white px-6 py-8 xl:px-0", children: /* @__PURE__ */ l("div", { className: "bg-ratafia mx-auto flex w-full max-w-300 shrink flex-col gap-6 rounded-2xl p-6 md:flex-row md:items-center md:gap-10 md:p-8 lg:pe-10 lg:pl-16 xl:items-start xl:gap-20", children: [
4
4
  /* @__PURE__ */ l("div", { className: "flex flex-col gap-4", children: [
5
5
  /* @__PURE__ */ e("span", { className: "xl:pt-12", children: a }),
6
6
  /* @__PURE__ */ e("h4", { className: "text-super-large md:text-extra-large font-bold text-white", children: t })
7
7
  ] }),
8
- /* @__PURE__ */ e(s, { ...r, containerClassName: "md:min-w-77 lg:min-w-115" })
8
+ /* @__PURE__ */ e(m, { dataQa: s, ...r, containerClassName: "md:min-w-77 lg:min-w-115" })
9
9
  ] }) });
10
10
  export {
11
- n as ConversionSection
11
+ x as ConversionSection
12
12
  };
@@ -7,6 +7,7 @@ export interface ButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'chil
7
7
  size?: ButtonSize;
8
8
  variant?: ResponsiveButtonVariant;
9
9
  iconPosition?: IconPosition;
10
+ dataQa?: string;
10
11
  }
11
12
 
12
13
  export type ButtonSize = 'small' | 'default' | 'large';
@@ -129,5 +129,6 @@ export interface UploadZoneProps {
129
129
  containerClassName?: string;
130
130
  onAddDocument?: () => void;
131
131
  onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
132
+ dataQa?: string;
132
133
  }
133
134
 
@@ -20,6 +20,7 @@ export declare interface FooterProps {
20
20
  phoneNumber: string;
21
21
  contactHoursText: string;
22
22
  contactHours: string;
23
+ dataQa?: string;
23
24
  };
24
25
  logoGray?: ReactNode;
25
26
  socialLinks?: ReactNode[];
@@ -1,7 +1,7 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import { PhoneButton as o } from "./PhoneButton.js";
4
- import { FooterNav as f } from "./FooterNav.js";
4
+ import { FooterNav as h } from "./FooterNav.js";
5
5
  const g = ({
6
6
  nav: r,
7
7
  contactInfo: t,
@@ -14,13 +14,13 @@ const g = ({
14
14
  languageSelector: s
15
15
  }) => /* @__PURE__ */ l("footer", { className: "text-neutral-25 max-w-full overflow-x-hidden", children: [
16
16
  /* @__PURE__ */ e("div", { className: "bg-primary-900", children: /* @__PURE__ */ l("div", { className: "mx-auto flex w-full max-w-300 flex-col items-start gap-8 px-6 py-10 md:grid md:grid-cols-3 lg:flex lg:flex-row lg:justify-between", children: [
17
- r.map((a) => /* @__PURE__ */ e(f, { ...a }, a.title)),
17
+ r.map((a) => /* @__PURE__ */ e(h, { ...a }, a.title)),
18
18
  /* @__PURE__ */ l("div", { className: "flex flex-col gap-6 max-sm:w-full md:contents lg:flex", children: [
19
19
  /* @__PURE__ */ l("div", { className: "", children: [
20
20
  /* @__PURE__ */ e("div", { className: "mb-8 xl:hidden", children: !!s && /* @__PURE__ */ e("div", { className: "language-selector-mobile-container", children: s }) }),
21
21
  /* @__PURE__ */ l("div", { children: [
22
22
  /* @__PURE__ */ e("p", { className: "text-small hidden font-bold text-white sm:block", children: t.phoneNumber }),
23
- /* @__PURE__ */ e("div", { className: "mb-2 w-full text-center sm:hidden", children: /* @__PURE__ */ e(o, { phoneNumber: t.phoneNumber }) }),
23
+ /* @__PURE__ */ e("div", { className: "mb-2 w-full text-center sm:hidden", children: /* @__PURE__ */ e(o, { dataQa: t.dataQa, phoneNumber: t.phoneNumber }) }),
24
24
  /* @__PURE__ */ l("p", { className: "text-neutral-25 text-medium md:text-small text-center md:text-left", children: [
25
25
  t.contactHoursText,
26
26
  " ",
@@ -34,6 +34,7 @@ export interface MobileContactInfo {
34
34
  phoneNumber: string;
35
35
  contactHoursLabel?: string;
36
36
  contactHours?: string;
37
+ dataQa?: string;
37
38
  }
38
39
 
39
40
  export interface MobileMenuProps {
@@ -27,5 +27,6 @@ export interface UploadZoneProps {
27
27
  containerClassName?: string;
28
28
  onAddDocument?: () => void;
29
29
  onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
30
+ dataQa?: string;
30
31
  }
31
32
 
@@ -4,25 +4,25 @@ import { LawGeniusImageShell as p } from "./LawGeniusImageShell.js";
4
4
  import { Markdown as t } from "./Markdown.js";
5
5
  const v = ({
6
6
  sectionTitle: s,
7
- contentMarkdown: r,
7
+ contentMarkdown: m,
8
8
  descriptionMarkdown: a,
9
- steps: m,
9
+ steps: r,
10
10
  belowStepsMarkdown: i,
11
11
  cta: n,
12
12
  imageUrl: c,
13
13
  imageAlt: x
14
14
  }) => {
15
- const d = a.trim().length > 0, o = i.trim().length > 0;
16
- return /* @__PURE__ */ e("section", { className: "bg-neutral-25 lg:px-ds-10xl px-6 pt-16 pb-12 sm:px-10", children: /* @__PURE__ */ e("div", { className: "bg-ratafia mx-auto w-full max-w-6xl rounded-3xl px-8 pt-16 pb-8 text-white shadow-[0_25px_80px_rgba(3,42,56,0.35)] sm:px-10 sm:pt-16 sm:pb-10", children: /* @__PURE__ */ l("div", { className: "flex w-full flex-col gap-8 lg:gap-10", children: [
15
+ const o = a.trim().length > 0, d = i.trim().length > 0;
16
+ return /* @__PURE__ */ e("section", { className: "bg-neutral-25 lg:px-ds-10xl px-6 pt-16 pb-12 sm:px-10", children: /* @__PURE__ */ e("div", { className: "bg-law-genius-section mx-auto w-full max-w-6xl rounded-3xl px-8 pt-16 pb-8 text-white shadow-[0_25px_80px_rgba(3,42,56,0.35)] sm:px-10 sm:pt-16 sm:pb-10", children: /* @__PURE__ */ l("div", { className: "flex w-full flex-col gap-8 lg:gap-10", children: [
17
17
  /* @__PURE__ */ l("div", { className: "flex flex-col gap-4 text-center text-white", children: [
18
18
  /* @__PURE__ */ e("h2", { className: "lg:text-super-large text-3xl font-bold lg:leading-tight", children: s }),
19
- /* @__PURE__ */ e("div", { className: "[&_p]:text-medium [&_p]:text-white/80 [&_p:last-child]:mb-0", children: /* @__PURE__ */ e(t, { variant: "ratafia", content: r }) }),
20
- d && /* @__PURE__ */ e("div", { className: "[&_p]:text-medium [&_p]:text-white/80 [&_p:last-child]:mb-0", children: /* @__PURE__ */ e(t, { variant: "ratafia", content: a }) })
19
+ /* @__PURE__ */ e("div", { className: "[&_p]:text-medium [&_p]:text-white/80 [&_p:last-child]:mb-0", children: /* @__PURE__ */ e(t, { variant: "ratafia", content: m }) }),
20
+ o && /* @__PURE__ */ e("div", { className: "[&_p]:text-medium [&_p]:text-white/80 [&_p:last-child]:mb-0", children: /* @__PURE__ */ e(t, { variant: "ratafia", content: a }) })
21
21
  ] }),
22
22
  /* @__PURE__ */ l("div", { className: "flex w-full flex-col gap-8 lg:grid lg:grid-cols-[minmax(0,1fr)_minmax(0,1.05fr)] lg:items-stretch lg:gap-10", children: [
23
23
  /* @__PURE__ */ l("div", { className: "flex min-h-0 flex-col gap-6", children: [
24
- m,
25
- o && /* @__PURE__ */ e(
24
+ r,
25
+ d && /* @__PURE__ */ e(
26
26
  t,
27
27
  {
28
28
  variant: "ratafia",
@@ -32,6 +32,7 @@ export declare type HowItWorksProcessStep = {
32
32
  imageAlt: string;
33
33
  background: 'bg-white' | 'bg-neutral-25';
34
34
  reverse?: boolean;
35
+ imageFirstOnMobile?: boolean;
35
36
  };
36
37
 
37
38
  export declare const HowItWorksTemplate: FC<HowItWorksTemplateProps>;
@@ -12,26 +12,26 @@ import { Markdown as i } from "./Markdown.js";
12
12
  import { TwoColumnSection as c } from "./TwoColumnSection.js";
13
13
  import { LawGeniusImageShell as B } from "./LawGeniusImageShell.js";
14
14
  const U = (t) => {
15
- const m = /* @__PURE__ */ r("div", { className: "w-full min-w-0 space-y-4 text-neutral-800 md:shrink md:grow-0 md:basis-1/2 lg:basis-[47%]", children: [
15
+ const m = /* @__PURE__ */ r("div", { className: "min-w-0 space-y-4 text-neutral-800 lg:basis-[47%]", children: [
16
16
  /* @__PURE__ */ e("h2", { className: "font-lora text-[2.05rem] leading-[1.15] font-bold text-neutral-800", children: t.title }),
17
17
  /* @__PURE__ */ e("div", { className: "text-small space-y-3 text-neutral-700", children: /* @__PURE__ */ e(i, { variant: "legal", content: t.bodyMarkdown }) })
18
- ] }), a = /* @__PURE__ */ e("div", { className: "w-full min-w-0 md:shrink md:grow-0 md:basis-1/2 lg:w-1/2 lg:max-w-[50%] lg:basis-auto", children: /* @__PURE__ */ e(W, { src: t.imageUrl, alt: t.imageAlt }) });
19
- return { firstColumn: m, secondColumn: a };
20
- }, K = ({ hero: t, processSteps: m, lawGenius: a, resources: n }) => {
21
- const d = t.introMarkdown.trim().length > 0, p = t.closingMarkdown.trim().length > 0, x = n.supportBodyMarkdown.trim().length > 0, g = a.belowStepsMarkdown.trim().length > 0, { examples: s } = n, f = /* @__PURE__ */ e(
18
+ ] }), a = /* @__PURE__ */ e("div", { className: "w-full shrink-0 lg:w-1/2 lg:max-w-[50%]", children: /* @__PURE__ */ e(W, { src: t.imageUrl, alt: t.imageAlt }) });
19
+ return t.reverse ? { firstColumn: a, secondColumn: m } : { firstColumn: m, secondColumn: a };
20
+ }, J = ({ hero: t, processSteps: m, lawGenius: a, resources: s }) => {
21
+ const d = t.introMarkdown.trim().length > 0, p = t.closingMarkdown.trim().length > 0, x = s.supportBodyMarkdown.trim().length > 0, g = a.belowStepsMarkdown.trim().length > 0, { examples: n } = s, f = /* @__PURE__ */ e(
22
22
  o,
23
23
  {
24
- size: "small",
24
+ size: "large",
25
25
  variant: "primary-green",
26
- className: "text-small inline-flex w-fit justify-center !rounded-md font-bold",
26
+ className: "text-medium w-full justify-center !rounded-md font-bold lg:w-auto",
27
27
  children: /* @__PURE__ */ e("a", { href: a.cta.href, className: b, children: a.cta.label })
28
28
  }
29
29
  );
30
- return /* @__PURE__ */ r("main", { className: "flex w-full max-w-full min-w-0 flex-1 flex-col overflow-x-clip", children: [
30
+ return /* @__PURE__ */ r("main", { className: "flex w-full max-w-full min-w-0 flex-1 flex-col", children: [
31
31
  /* @__PURE__ */ e("section", { className: "bg-primary-50 lg:px-ds-10xl px-6 pt-4 pb-12 sm:px-10", children: /* @__PURE__ */ r("div", { className: "mx-auto flex max-w-6xl flex-col gap-12", children: [
32
32
  /* @__PURE__ */ r("div", { className: "text-center", children: [
33
- /* @__PURE__ */ r("div", { className: "mx-auto flex w-full max-w-full flex-col items-center gap-2", children: [
34
- /* @__PURE__ */ e("p", { className: "text-small text-center font-semibold tracking-[0.3em] text-neutral-600 uppercase", children: t.eyebrow }),
33
+ /* @__PURE__ */ r("div", { className: "mx-auto inline-flex max-w-full flex-col items-center gap-2", children: [
34
+ /* @__PURE__ */ e("p", { className: "text-small font-semibold tracking-[0.3em] whitespace-nowrap text-neutral-600 uppercase", children: t.eyebrow }),
35
35
  /* @__PURE__ */ e("span", { className: "h-px w-full max-w-[7.5rem] min-w-[5.5rem] shrink-0 bg-neutral-400", "aria-hidden": !0 })
36
36
  ] }),
37
37
  /* @__PURE__ */ e("h1", { className: "font-lora mx-auto mt-12 max-w-[48rem] text-4xl leading-tight font-bold tracking-tight text-neutral-800 sm:text-5xl sm:leading-tight", children: t.title })
@@ -40,7 +40,7 @@ const U = (t) => {
40
40
  A,
41
41
  {
42
42
  className: "bg-transparent",
43
- containerClassName: "w-full !max-w-none !flex-col gap-10 !px-0 !py-0 md:!flex-col lg:!flex-row lg:items-stretch",
43
+ containerClassName: "w-full !max-w-none flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-stretch",
44
44
  image: /* @__PURE__ */ e(S, { src: t.imageUrl, alt: t.imageAlt, priority: t.imagePriority }),
45
45
  cta: {
46
46
  size: "large",
@@ -73,8 +73,7 @@ const U = (t) => {
73
73
  className: `${l.background} lg:px-ds-10xl px-6 py-12 sm:px-10`,
74
74
  containerClassName: N(
75
75
  "!mx-auto !w-full !max-w-6xl !px-0 !py-0 !gap-8 md:!gap-10 lg:items-start",
76
- "!flex-col-reverse lg:!flex-row",
77
- l.reverse && "lg:!flex-row-reverse"
76
+ l.imageFirstOnMobile ? "!flex-col-reverse md:!flex-row" : "!flex-col md:!flex-row"
78
77
  ),
79
78
  firstColumn: u,
80
79
  secondColumn: h
@@ -115,24 +114,24 @@ const U = (t) => {
115
114
  c,
116
115
  {
117
116
  className: "bg-neutral-25 lg:px-ds-10xl px-6 py-12 sm:px-10",
118
- containerClassName: "!mx-auto !w-full !max-w-6xl !flex-col !items-start !gap-8 !px-0 !py-0 md:!gap-10 lg:!flex-row lg:!items-stretch",
119
- firstColumn: /* @__PURE__ */ e("div", { className: "w-full min-w-0 shrink-0 rounded-2xl border border-neutral-100 bg-white p-4 lg:basis-[48%] lg:p-5", children: /* @__PURE__ */ e(L, { src: n.imageUrl, alt: n.imageAlt }) }),
120
- secondColumn: /* @__PURE__ */ r("div", { className: "w-full min-w-0 space-y-4 lg:min-w-0 lg:basis-[52%]", children: [
121
- s.eyebrow && /* @__PURE__ */ e("p", { className: "text-xs font-semibold tracking-[0.2em] text-neutral-500 uppercase", children: s.eyebrow }),
122
- s.title && /* @__PURE__ */ e("h3", { className: "font-lora text-[2rem] leading-[1.2] font-bold text-neutral-800", children: s.title }),
123
- x && /* @__PURE__ */ e("div", { className: `text-small space-y-3 text-neutral-700 ${C}`, children: /* @__PURE__ */ e(i, { variant: "legal", content: n.supportBodyMarkdown }) }),
124
- s.rows.length > 0 && /* @__PURE__ */ e("dl", { className: "text-small space-y-2 text-neutral-700", children: s.rows.map((l) => /* @__PURE__ */ r("div", { className: "flex flex-wrap gap-x-2", children: [
117
+ containerClassName: "!mx-auto !w-full !max-w-6xl !items-start !gap-8 !px-0 !py-0 md:!gap-10 lg:!items-stretch",
118
+ firstColumn: /* @__PURE__ */ e("div", { className: "w-full min-w-0 shrink-0 rounded-2xl border border-neutral-100 bg-white p-4 lg:basis-[48%] lg:p-5", children: /* @__PURE__ */ e(L, { src: s.imageUrl, alt: s.imageAlt }) }),
119
+ secondColumn: /* @__PURE__ */ r("div", { className: "w-full space-y-4 lg:basis-[52%]", children: [
120
+ n.eyebrow && /* @__PURE__ */ e("p", { className: "text-xs font-semibold tracking-[0.2em] text-neutral-500 uppercase", children: n.eyebrow }),
121
+ n.title && /* @__PURE__ */ e("h3", { className: "font-lora text-[2rem] leading-[1.2] font-bold text-neutral-800", children: n.title }),
122
+ x && /* @__PURE__ */ e("div", { className: `text-small space-y-3 text-neutral-700 ${C}`, children: /* @__PURE__ */ e(i, { variant: "legal", content: s.supportBodyMarkdown }) }),
123
+ n.rows.length > 0 && /* @__PURE__ */ e("dl", { className: "text-small space-y-2 text-neutral-700", children: n.rows.map((l) => /* @__PURE__ */ r("div", { className: "flex flex-wrap gap-x-2", children: [
125
124
  /* @__PURE__ */ e("dt", { className: "font-semibold", children: l.label }),
126
125
  /* @__PURE__ */ e("dd", { children: l.value })
127
126
  ] }, `${l.label}-${l.value}`)) }),
128
- s.footer && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: s.footer }),
127
+ n.footer && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: n.footer }),
129
128
  /* @__PURE__ */ e(
130
129
  o,
131
130
  {
132
131
  size: "small",
133
132
  variant: "primary-green",
134
133
  className: "text-small inline-flex w-auto justify-center font-bold",
135
- children: /* @__PURE__ */ e("a", { href: n.cta.href, className: v, children: n.cta.label })
134
+ children: /* @__PURE__ */ e("a", { href: s.cta.href, className: v, children: s.cta.label })
136
135
  }
137
136
  )
138
137
  ] })
@@ -141,5 +140,5 @@ const U = (t) => {
141
140
  ] });
142
141
  };
143
142
  export {
144
- K as HowItWorksTemplate
143
+ J as HowItWorksTemplate
145
144
  };
@@ -4,6 +4,7 @@ import { HTMLInputTypeAttribute } from 'react';
4
4
  export declare const Input: FC<InputProps>;
5
5
 
6
6
  export declare interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
7
+ dataQa?: string;
7
8
  label: string;
8
9
  id: string;
9
10
  name: string;
@@ -1,28 +1,29 @@
1
1
  import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
2
  import { useState as p } from "react";
3
3
  import u from "clsx";
4
- import { QuestionOutlineIcon as N } from "./QuestionOutlineIcon.js";
5
- import { CloseIcon as y } from "./CloseIcon.js";
6
- import { InfoIcon as I } from "./InfoIcon.js";
7
- const $ = ({
8
- label: m,
4
+ import { QuestionOutlineIcon as y } from "./QuestionOutlineIcon.js";
5
+ import { CloseIcon as I } from "./CloseIcon.js";
6
+ import { InfoIcon as C } from "./InfoIcon.js";
7
+ const z = ({
8
+ dataQa: m,
9
+ label: d,
9
10
  id: l,
10
- name: d,
11
- type: f = "text",
12
- placeholder: h,
11
+ name: f,
12
+ type: h = "text",
13
+ placeholder: x,
13
14
  required: o = !1,
14
15
  tooltip: i,
15
- onInputChange: x,
16
- containerClassName: b = "",
16
+ onInputChange: b,
17
+ containerClassName: g = "",
17
18
  error: s = !1,
18
- errorMessage: g,
19
- ...v
19
+ errorMessage: v,
20
+ ...w
20
21
  }) => {
21
- const [n, c] = p(!1), [w, r] = p(!1);
22
- return /* @__PURE__ */ t("div", { className: `flex flex-col gap-2 ${b}`, children: [
22
+ const [n, c] = p(!1), [N, a] = p(!1);
23
+ return /* @__PURE__ */ t("div", { className: `flex flex-col gap-2 ${g}`, children: [
23
24
  /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
24
25
  /* @__PURE__ */ t("label", { htmlFor: l, className: "font-bold text-neutral-800", children: [
25
- m,
26
+ d,
26
27
  " ",
27
28
  o && /* @__PURE__ */ e("span", { className: "text-neutral-800", children: "*" })
28
29
  ] }),
@@ -31,7 +32,7 @@ const $ = ({
31
32
  {
32
33
  className: "group relative inline-flex",
33
34
  onMouseLeave: () => {
34
- r(!1);
35
+ a(!1);
35
36
  },
36
37
  children: [
37
38
  /* @__PURE__ */ e(
@@ -41,9 +42,9 @@ const $ = ({
41
42
  type: "button",
42
43
  "aria-expanded": n,
43
44
  onClick: () => {
44
- r(!1), c((a) => !a);
45
+ a(!1), c((r) => !r);
45
46
  },
46
- children: /* @__PURE__ */ e(N, { "aria-hidden": "true" })
47
+ children: /* @__PURE__ */ e(y, { "aria-hidden": "true" })
47
48
  }
48
49
  ),
49
50
  /* @__PURE__ */ t(
@@ -52,7 +53,7 @@ const $ = ({
52
53
  className: u(
53
54
  "invisible absolute top-6 -left-21 z-10 w-max max-w-60 rounded bg-neutral-800 p-2 transition-opacity lg:max-w-80 xl:-left-15 xl:max-w-112",
54
55
  "opacity-0",
55
- !w && "group-focus-within:visible group-focus-within:opacity-100 group-hover:visible group-hover:opacity-100",
56
+ !N && "group-focus-within:visible group-focus-within:opacity-100 group-hover:visible group-hover:opacity-100",
56
57
  n && "visible opacity-100"
57
58
  ),
58
59
  role: "tooltip",
@@ -72,9 +73,9 @@ const $ = ({
72
73
  type: "button",
73
74
  className: "cursor-pointer p-0",
74
75
  onClick: () => {
75
- r(!0), c(!1);
76
+ a(!0), c(!1);
76
77
  },
77
- children: /* @__PURE__ */ e(y, { width: 20, height: 20, fill: "white" })
78
+ children: /* @__PURE__ */ e(I, { width: 20, height: 20, fill: "white" })
78
79
  }
79
80
  )
80
81
  ] })
@@ -88,28 +89,29 @@ const $ = ({
88
89
  /* @__PURE__ */ e(
89
90
  "input",
90
91
  {
92
+ "data-qa": m,
91
93
  id: l,
92
- name: d,
93
- type: f,
94
- placeholder: h,
94
+ name: f,
95
+ type: h,
96
+ placeholder: x,
95
97
  required: o,
96
98
  className: u(
97
99
  "text-small focus-visible:outline-primary-500 w-full rounded border p-3 text-neutral-800 placeholder:text-neutral-600 focus-visible:outline-2",
98
100
  s ? "border-error-500 bg-error-25" : "bg-neutral-25 border-neutral-400"
99
101
  ),
100
- onChange: (a) => {
101
- x?.(a.target.value);
102
+ onChange: (r) => {
103
+ b?.(r.target.value);
102
104
  },
103
- ...v
105
+ ...w
104
106
  }
105
107
  ),
106
108
  s && /* @__PURE__ */ t("p", { id: `${l}-error-message`, className: "text-small text-error-500 flex items-center gap-1", children: [
107
- /* @__PURE__ */ e(I, { width: 20, height: 20, fill: "var(--color-error-500)", "aria-hidden": "true" }),
109
+ /* @__PURE__ */ e(C, { width: 20, height: 20, fill: "var(--color-error-500)", "aria-hidden": "true" }),
108
110
  " ",
109
- g
111
+ v
110
112
  ] })
111
113
  ] });
112
114
  };
113
115
  export {
114
- $ as Input
116
+ z as Input
115
117
  };