@npm_leadtech/legal-contracts-ui 0.124.0 → 0.124.1

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 (53) hide show
  1. package/dist/components/AboutUsTemplate.d.ts +2 -2
  2. package/dist/components/AllDocumentsTemplate.d.ts +1 -0
  3. package/dist/components/Anchor.d.ts +1 -1
  4. package/dist/components/Anchor.js +8 -9
  5. package/dist/components/Blockquote.d.ts +1 -1
  6. package/dist/components/Blockquote.js +9 -9
  7. package/dist/components/ContactUsTemplate.d.ts +2 -2
  8. package/dist/components/ContentItem.d.ts +1 -0
  9. package/dist/components/FaqsTemplate.d.ts +2 -3
  10. package/dist/components/Footer.js +15 -15
  11. package/dist/components/Header2.d.ts +1 -1
  12. package/dist/components/Header2.js +4 -5
  13. package/dist/components/HomeTemplate.js +8 -8
  14. package/dist/components/HowItWorksTemplate.d.ts +39 -31
  15. package/dist/components/HowItWorksTemplate.js +92 -108
  16. package/dist/components/ImageWithPreview.d.ts +1 -0
  17. package/dist/components/ImageWithPreview.js +11 -9
  18. package/dist/components/IntroSection.js +10 -10
  19. package/dist/components/Jumbotron2.d.ts +2 -3
  20. package/dist/components/Markdown.d.ts +1 -1
  21. package/dist/components/OrderedList.d.ts +1 -1
  22. package/dist/components/OrderedList.js +9 -10
  23. package/dist/components/Paragraph.d.ts +1 -1
  24. package/dist/components/Paragraph.js +2 -6
  25. package/dist/components/PreviewDownload.d.ts +2 -0
  26. package/dist/components/PreviewDownload.js +22 -19
  27. package/dist/components/PreviewSection.d.ts +1 -0
  28. package/dist/components/PreviewSection.js +24 -11
  29. package/dist/components/PricingTemplate.d.ts +2 -2
  30. package/dist/components/ProductTemplate.d.ts +3 -0
  31. package/dist/components/RatafiaSection.js +23 -23
  32. package/dist/components/TwoColumnSection.js +8 -8
  33. package/dist/components/UiComponents.d.ts +6 -6
  34. package/dist/components/UnorderedList.d.ts +1 -1
  35. package/dist/components/UnorderedList.js +5 -13
  36. package/dist/components/UnsubscribeTemplate.d.ts +1 -1
  37. package/dist/globals.css +1 -1
  38. package/package.json +1 -29
  39. package/dist/components/HeroImageShell.d.ts +0 -10
  40. package/dist/components/HeroImageShell.js +0 -15
  41. package/dist/components/HowItWorksLawGeniusSection.d.ts +0 -16
  42. package/dist/components/HowItWorksLawGeniusSection.js +0 -41
  43. package/dist/components/HowItWorksTemplateTokens.d.ts +0 -12
  44. package/dist/components/HowItWorksTemplateTokens.js +0 -8
  45. package/dist/components/LawGeniusImageShell.d.ts +0 -9
  46. package/dist/components/LawGeniusImageShell.js +0 -15
  47. package/dist/components/LawGeniusStepCard.d.ts +0 -11
  48. package/dist/components/LawGeniusStepCard.js +0 -17
  49. package/dist/components/ResourcesImageShell.d.ts +0 -9
  50. package/dist/components/ResourcesImageShell.js +0 -15
  51. package/dist/components/StepImageShell.d.ts +0 -9
  52. package/dist/components/StepImageShell.js +0 -15
  53. package/dist/components/index.d.ts +0 -1328
@@ -79,10 +79,10 @@ export interface IntroSectionProps {
79
79
  }
80
80
 
81
81
  export interface Jumbotron2Props {
82
- title: ReactNode;
82
+ title: string;
83
83
  subtitle?: string;
84
84
  className?: string;
85
- children?: ReactNode;
85
+ children?: React.ReactNode;
86
86
  variant?: 'default' | 'contact';
87
87
  }
88
88
 
@@ -96,6 +96,7 @@ export interface FaqSectionProps {
96
96
  export interface ImageWithPreviewProps {
97
97
  small: ReactNode;
98
98
  large: ReactNode;
99
+ onZoomClick?: () => void;
99
100
  }
100
101
 
101
102
  export interface JumboCardProps {
@@ -3,6 +3,6 @@ import { JSX } from 'react/jsx-runtime';
3
3
  export declare const Anchor: ({ children, variant, className, ...props }: AnchorProps) => JSX.Element;
4
4
 
5
5
  export interface AnchorProps extends React.ComponentProps<'a'> {
6
- variant?: 'default' | 'legal' | 'ratafia' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
6
+ variant?: 'default' | 'legal' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
7
7
  }
8
8
 
@@ -1,16 +1,15 @@
1
1
  import { jsx as d } from "react/jsx-runtime";
2
2
  import p from "clsx";
3
- const b = ({ children: a, variant: c = "default", className: l = "", ...r }) => {
4
- const t = r.href || "", n = t.toLowerCase(), u = n.startsWith("mailto:"), o = n.startsWith("tel:"), e = "cursor-pointer text-primary-700", s = {
3
+ const v = ({ children: i, variant: c = "default", className: l = "", ...r }) => {
4
+ const t = r.href || "", s = t.toLowerCase(), u = s.startsWith("mailto:"), n = s.startsWith("tel:"), e = "cursor-pointer text-primary-700", o = {
5
5
  default: "text-neutral-900 underline",
6
6
  legal: e,
7
- ratafia: "cursor-pointer text-primary-200 underline decoration-white/40 underline-offset-2 hover:text-white",
8
7
  "about-us": e,
9
8
  pricing: "cursor-pointer text-neutral-900",
10
9
  unsubscribe: e,
11
10
  cookies: "text-white"
12
- }, f = s[c] ?? s.default, i = t.startsWith("http") && !o && !u, h = (() => {
13
- if (!o) return t;
11
+ }, f = o[c] ?? o.default, a = t.startsWith("http") && !n && !u, h = (() => {
12
+ if (!n) return t;
14
13
  try {
15
14
  return decodeURIComponent(t).replace(/\s/g, "");
16
15
  } catch {
@@ -23,12 +22,12 @@ const b = ({ children: a, variant: c = "default", className: l = "", ...r }) =>
23
22
  ...r,
24
23
  href: h,
25
24
  className: p(l, f),
26
- target: i ? "_blank" : void 0,
27
- rel: i ? "noopener noreferrer" : void 0,
28
- children: a
25
+ target: a ? "_blank" : void 0,
26
+ rel: a ? "noopener noreferrer" : void 0,
27
+ children: i
29
28
  }
30
29
  );
31
30
  };
32
31
  export {
33
- b as Anchor
32
+ v as Anchor
34
33
  };
@@ -3,6 +3,6 @@ import { JSX } from 'react/jsx-runtime';
3
3
  export declare const Blockquote: ({ children, variant }: BlockquoteProps) => JSX.Element;
4
4
 
5
5
  export interface BlockquoteProps extends React.ComponentProps<'blockquote'> {
6
- variant?: 'default' | 'legal' | 'ratafia' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
6
+ variant?: 'default' | 'legal' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
7
7
  }
8
8
 
@@ -1,13 +1,13 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import o from "clsx";
3
- const s = ({ children: r, variant: a = "default" }) => {
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import l from "clsx";
3
+ const b = ({ children: r, variant: e = "default" }) => {
4
4
  const t = {
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 });
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 });
10
10
  };
11
11
  export {
12
- s as Blockquote
12
+ b as Blockquote
13
13
  };
@@ -101,10 +101,10 @@ export declare interface ContactUsTemplateProps {
101
101
  export type IconPosition = 'left' | 'right' | 'top';
102
102
 
103
103
  export interface Jumbotron2Props {
104
- title: ReactNode;
104
+ title: string;
105
105
  subtitle?: string;
106
106
  className?: string;
107
- children?: ReactNode;
107
+ children?: React.ReactNode;
108
108
  variant?: 'default' | 'contact';
109
109
  }
110
110
 
@@ -38,6 +38,7 @@ export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
38
38
  export interface ImageWithPreviewProps {
39
39
  small: ReactNode;
40
40
  large: ReactNode;
41
+ onZoomClick?: () => void;
41
42
  }
42
43
 
43
44
  export interface LinkedProductProps {
@@ -1,5 +1,4 @@
1
1
  import { FC } from 'react';
2
- import { ReactNode } from 'react';
3
2
 
4
3
  export interface AsideNavMenuProps {
5
4
  menuItems: Array<{
@@ -34,10 +33,10 @@ export declare interface FaqsTemplateProps {
34
33
  }
35
34
 
36
35
  export interface Jumbotron2Props {
37
- title: ReactNode;
36
+ title: string;
38
37
  subtitle?: string;
39
38
  className?: string;
40
- children?: ReactNode;
39
+ children?: React.ReactNode;
41
40
  variant?: 'default' | 'contact';
42
41
  }
43
42
 
@@ -1,23 +1,23 @@
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 p } from "./FooterNav.js";
5
5
  const g = ({
6
6
  nav: r,
7
7
  contactInfo: t,
8
- logoGray: d,
9
- socialLinks: i,
10
- legalLinks: x,
11
- disclaimerText: c,
8
+ logoGray: i,
9
+ socialLinks: d,
10
+ legalLinks: c,
11
+ disclaimerText: x,
12
12
  copyrightText: n,
13
- trustPilot: m,
14
- languageSelector: s
15
- }) => /* @__PURE__ */ l("footer", { className: "text-neutral-25 max-w-full overflow-x-hidden", children: [
13
+ trustPilot: s,
14
+ languageSelector: m
15
+ }) => /* @__PURE__ */ l("footer", { className: "text-neutral-25", 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(p, { ...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
- /* @__PURE__ */ e("div", { className: "mb-8 xl:hidden", children: !!s && /* @__PURE__ */ e("div", { className: "language-selector-mobile-container", children: s }) }),
20
+ /* @__PURE__ */ e("div", { className: "mb-8 xl:hidden", children: !!m && /* @__PURE__ */ e("div", { className: "language-selector-mobile-container", children: m }) }),
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
23
  /* @__PURE__ */ e("div", { className: "mb-2 w-full text-center sm:hidden", children: /* @__PURE__ */ e(o, { phoneNumber: t.phoneNumber }) }),
@@ -28,17 +28,17 @@ const g = ({
28
28
  ] })
29
29
  ] })
30
30
  ] }),
31
- !!m && /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: m })
31
+ !!s && /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: s })
32
32
  ] })
33
33
  ] }) }),
34
34
  /* @__PURE__ */ e("div", { className: "bg-neutral-900 px-6 py-8 text-neutral-400", children: /* @__PURE__ */ l("div", { className: "mx-auto flex w-full max-w-300 flex-col gap-6", children: [
35
35
  /* @__PURE__ */ l("div", { className: "flex flex-col items-start gap-6 md:flex-row md:justify-between", children: [
36
- d,
37
- /* @__PURE__ */ e("div", { className: "flex gap-4", children: i?.map((a) => a) })
36
+ i,
37
+ /* @__PURE__ */ e("div", { className: "flex gap-4", children: d?.map((a) => a) })
38
38
  ] }),
39
39
  /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-600" }),
40
- /* @__PURE__ */ e("div", { className: "text-extra-small flex flex-wrap gap-4", children: x?.map((a) => a) }),
41
- /* @__PURE__ */ e("p", { className: "text-extra-small text-neutral-400", children: c }),
40
+ /* @__PURE__ */ e("div", { className: "text-extra-small flex flex-wrap gap-4", children: c?.map((a) => a) }),
41
+ /* @__PURE__ */ e("p", { className: "text-extra-small text-neutral-400", children: x }),
42
42
  /* @__PURE__ */ e("p", { className: "text-extra-small text-neutral-400", children: n })
43
43
  ] }) })
44
44
  ] });
@@ -3,6 +3,6 @@ import { JSX } from 'react/jsx-runtime';
3
3
  export declare const Header2: ({ children, variant }: Header2Props) => JSX.Element;
4
4
 
5
5
  export interface Header2Props extends React.ComponentProps<'h2'> {
6
- variant?: 'default' | 'legal' | 'ratafia' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
6
+ variant?: 'default' | 'legal' | 'tooltip' | 'about-us' | 'pricing' | 'unsubscribe' | 'cookies';
7
7
  }
8
8
 
@@ -1,14 +1,13 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import m from "clsx";
3
- const s = ({ children: e, variant: l = "default" }) => {
2
+ import s from "clsx";
3
+ const m = ({ children: e, variant: l = "default" }) => {
4
4
  const t = {
5
5
  default: "mt-5 mb-3 text-3xl text-gray-900",
6
6
  legal: "mt-5 -mx-ds-11xl mb-6 bg-white px-ds-11xl text-left text-neutral-800 text-3xl",
7
- ratafia: "mt-4 mb-3 text-left text-xl font-bold text-white lg:text-2xl",
8
7
  unsubscribe: "mt-0 mb-0 w-full bg-white pb-4 pt-8 text-left text-3xl leading-tight text-neutral-900 font-sans tracking-tight md:text-4xl md:leading-8"
9
8
  }, x = t[l] ?? t.default;
10
- return /* @__PURE__ */ a("h2", { className: m("font-bold", x), children: e });
9
+ return /* @__PURE__ */ a("h2", { className: s("font-bold", x), children: e });
11
10
  };
12
11
  export {
13
- s as Header2
12
+ m as Header2
14
13
  };
@@ -4,10 +4,10 @@ import { HeroSection as n } from "./HeroSection.js";
4
4
  import { MoreTemplatesSection as f } from "./MoreTemplatesSection.js";
5
5
  import { ProcessSection as l } from "./ProcessSection.js";
6
6
  import { CategoriesSection as S } from "./CategoriesSection.js";
7
- import { TrustSection as x } from "./TrustSection.js";
8
- import { FaqTeaserSection as T } from "./FaqTeaserSection.js";
9
- import { BlogSection as b } from "./BlogSection.js";
10
- import { RatafiaSection as g } from "./RatafiaSection.js";
7
+ import { RatafiaSection as x } from "./RatafiaSection.js";
8
+ import { TrustSection as T } from "./TrustSection.js";
9
+ import { FaqTeaserSection as b } from "./FaqTeaserSection.js";
10
+ import { BlogSection as g } from "./BlogSection.js";
11
11
  const M = ({
12
12
  hero: t,
13
13
  moreTemplates: m,
@@ -22,10 +22,10 @@ const M = ({
22
22
  /* @__PURE__ */ o(f, { ...m }),
23
23
  /* @__PURE__ */ o(l, { ...e }),
24
24
  r && /* @__PURE__ */ o(S, { ...r }),
25
- /* @__PURE__ */ o(g, { ...i }),
26
- /* @__PURE__ */ o(x, { ...p }),
27
- /* @__PURE__ */ o(T, { ...s }),
28
- /* @__PURE__ */ o(b, { className: "pt-10 pb-12 lg:pb-14", ...a })
25
+ /* @__PURE__ */ o(x, { ...i }),
26
+ /* @__PURE__ */ o(T, { ...p }),
27
+ /* @__PURE__ */ o(b, { ...s }),
28
+ /* @__PURE__ */ o(g, { className: "pt-10 pb-12 lg:pb-14", ...a })
29
29
  ] });
30
30
  export {
31
31
  M as HomeTemplate
@@ -1,4 +1,17 @@
1
+ import { ComponentPropsWithRef } from 'react';
1
2
  import { FC } from 'react';
3
+ import { ReactNode } from 'react';
4
+
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';
2
15
 
3
16
  export declare type HowItWorksExamplesProps = {
4
17
  eyebrow: string;
@@ -19,20 +32,18 @@ export declare type HowItWorksHeroBullet = {
19
32
  export declare type HowItWorksLawGeniusStep = {
20
33
  id: string;
21
34
  title: string;
22
- descriptionMarkdown: string;
23
- iconUrl: string | null;
24
- iconAlt?: string;
35
+ description: string;
36
+ icon: ReactNode;
25
37
  };
26
38
 
27
39
  export declare type HowItWorksProcessStep = {
28
40
  id: string;
29
41
  title: string;
30
- bodyMarkdown: string;
31
- imageUrl: string | null;
32
- imageAlt: string;
42
+ /** Column with text when not reversed; swap with image when `reverse` is true. */
43
+ body: ReactNode;
44
+ image: ReactNode;
33
45
  background: 'bg-white' | 'bg-neutral-25';
34
46
  reverse?: boolean;
35
- imageFirstOnMobile?: boolean;
36
47
  };
37
48
 
38
49
  export declare const HowItWorksTemplate: FC<HowItWorksTemplateProps>;
@@ -41,40 +52,37 @@ export declare interface HowItWorksTemplateProps {
41
52
  hero: {
42
53
  eyebrow: string;
43
54
  title: string;
44
- imageUrl: string | null;
45
- imageAlt: string;
46
- imagePriority?: boolean;
47
- introMarkdown: string;
55
+ image: ReactNode;
56
+ intro: ReactNode;
48
57
  bullets: HowItWorksHeroBullet[];
49
- closingMarkdown: string;
50
- cta: {
51
- href: string;
52
- label: string;
53
- };
58
+ closing: ReactNode;
59
+ cta: ButtonProps;
54
60
  };
55
61
  processSteps: HowItWorksProcessStep[];
56
62
  lawGenius: {
57
63
  title: string;
58
- contentMarkdown: string;
64
+ content: string;
59
65
  steps: HowItWorksLawGeniusStep[];
60
- belowStepsMarkdown: string;
61
- imageUrl: string | null;
62
- imageAlt: string;
63
- cta: {
64
- href: string;
65
- label: string;
66
- };
66
+ belowStepsSlot: ReactNode;
67
+ cta: ButtonProps;
68
+ image: ReactNode;
67
69
  sectionClassName?: string;
68
70
  };
69
71
  resources: {
70
72
  examples: HowItWorksExamplesProps;
71
- supportBodyMarkdown: string;
72
- imageUrl: string | null;
73
- imageAlt: string;
74
- cta: {
75
- href: string;
76
- label: string;
77
- };
73
+ image: ReactNode;
74
+ supportBody: ReactNode;
75
+ cta: ButtonProps;
78
76
  };
79
77
  }
78
+
79
+ export type IconPosition = 'left' | 'right' | 'top';
80
+
81
+ export type ResponsiveButtonVariant = ButtonVariant | {
82
+ initial?: ButtonVariant;
83
+ sm?: ButtonVariant;
84
+ md?: ButtonVariant;
85
+ lg?: ButtonVariant;
86
+ xl?: ButtonVariant;
87
+ };
80
88
 
@@ -1,144 +1,128 @@
1
- import { jsx as e, jsxs as r, Fragment as w } from "react/jsx-runtime";
2
- import { clsx as N } from "clsx";
3
- import { howItWorksLawGeniusCtaLinkClassName as b, howItWorksHeroCtaLinkClassName as k, howItWorksLawGeniusBelowStepsMarkdownClassName as y, howItWorksResourcesSupportBodyClassName as C, howItWorksResourcesCtaLinkClassName as v } from "./HowItWorksTemplateTokens.js";
4
- import { HeroImageShell as S } from "./HeroImageShell.js";
5
- import { RatafiaSection as M } from "./RatafiaSection.js";
6
- import { LawGeniusStepCard as I } from "./LawGeniusStepCard.js";
7
- import { ResourcesImageShell as L } from "./ResourcesImageShell.js";
8
- import { StepImageShell as W } from "./StepImageShell.js";
9
- import { Button as o } from "./Button.js";
10
- import { IntroSection as A } from "./IntroSection.js";
11
- import { Markdown as i } from "./Markdown.js";
12
- import { TwoColumnSection as c } from "./TwoColumnSection.js";
13
- import { LawGeniusImageShell as B } from "./LawGeniusImageShell.js";
14
- const U = (t) => {
15
- const m = /* @__PURE__ */ r("div", { className: "min-w-0 space-y-4 text-neutral-800 lg:basis-[47%]", children: [
16
- /* @__PURE__ */ e("h2", { className: "font-lora text-[2.05rem] leading-[1.15] font-bold text-neutral-800", children: t.title }),
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 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
- o,
23
- {
24
- size: "large",
25
- variant: "primary-green",
26
- className: "text-medium w-full justify-center !rounded-md font-bold lg:w-auto",
27
- children: /* @__PURE__ */ e("a", { href: a.cta.href, className: b, children: a.cta.label })
28
- }
29
- );
30
- return /* @__PURE__ */ r("main", { className: "flex w-full max-w-full min-w-0 flex-1 flex-col", children: [
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
- /* @__PURE__ */ r("div", { className: "text-center", children: [
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
- /* @__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
- ] }),
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 })
1
+ import { jsxs as a, jsx as e, Fragment as x } from "react/jsx-runtime";
2
+ import { Button as c } from "./Button.js";
3
+ import { IntroSection as u } from "./IntroSection.js";
4
+ import { RatafiaSection as f } from "./RatafiaSection.js";
5
+ import { TwoColumnSection as m } from "./TwoColumnSection.js";
6
+ const g = ({ title: l, description: r, icon: s }) => /* @__PURE__ */ a("div", { className: "rounded-2xl bg-white/10 p-5", children: [
7
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-3", children: [
8
+ /* @__PURE__ */ e("span", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-white/20", children: s }),
9
+ /* @__PURE__ */ e("p", { className: "text-lg font-semibold", children: l })
10
+ ] }),
11
+ /* @__PURE__ */ e("p", { className: "text-small mt-3 text-white/85", children: r })
12
+ ] }), h = (l) => {
13
+ const r = /* @__PURE__ */ a("div", { className: "space-y-5 text-neutral-800 lg:w-1/2", children: [
14
+ /* @__PURE__ */ e("h2", { className: "font-lora text-3xl font-bold text-neutral-800", children: l.title }),
15
+ /* @__PURE__ */ e("div", { className: "text-medium space-y-4 text-neutral-800", children: l.body })
16
+ ] }), s = /* @__PURE__ */ e("div", { className: "relative aspect-560/408 w-full overflow-hidden rounded-2xl shadow-[0_25px_60px_rgba(3,42,56,0.15)] lg:w-1/2", children: l.image });
17
+ return l.reverse ? { firstColumn: s, secondColumn: r } : { firstColumn: r, secondColumn: s };
18
+ }, C = ({ hero: l, processSteps: r, lawGenius: s, resources: n }) => {
19
+ const o = {
20
+ size: "large",
21
+ variant: "primary-white",
22
+ className: "text-medium w-full justify-center font-bold text-primary-900 lg:w-auto",
23
+ ...s.cta
24
+ }, { examples: i } = n;
25
+ return /* @__PURE__ */ a("main", { className: "flex flex-1 flex-col", children: [
26
+ /* @__PURE__ */ e("section", { className: "bg-primary-50 px-6 py-16 sm:px-10 lg:px-24", children: /* @__PURE__ */ a("div", { className: "mx-auto flex max-w-6xl flex-col gap-12", children: [
27
+ /* @__PURE__ */ a("div", { className: "text-center", children: [
28
+ /* @__PURE__ */ e("p", { className: "text-small font-semibold tracking-[0.3em] text-neutral-600 uppercase", children: l.eyebrow }),
29
+ /* @__PURE__ */ e("h1", { className: "font-lora mt-3 text-4xl text-neutral-800 sm:text-5xl", children: l.title })
38
30
  ] }),
39
31
  /* @__PURE__ */ e(
40
- A,
32
+ u,
41
33
  {
42
34
  className: "bg-transparent",
43
- containerClassName: "w-full !max-w-none flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-stretch",
44
- image: /* @__PURE__ */ e(S, { src: t.imageUrl, alt: t.imageAlt, priority: t.imagePriority }),
35
+ containerClassName: "w-full !max-w-none flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-center",
36
+ image: l.image,
45
37
  cta: {
46
38
  size: "large",
47
- variant: "primary-green",
39
+ variant: "primary-darkgreen",
48
40
  className: "text-medium mt-8 w-full justify-center font-bold",
49
- children: /* @__PURE__ */ e("a", { href: t.cta.href, className: k, children: t.cta.label })
41
+ ...l.cta
50
42
  },
51
- children: /* @__PURE__ */ r("div", { className: "text-medium space-y-4 [&_ul]:my-8 [&_ul]:list-disc [&_ul]:pl-[1.2rem]", children: [
52
- d && /* @__PURE__ */ e(i, { variant: "legal", content: t.introMarkdown }),
53
- /* @__PURE__ */ e("ul", { className: "text-medium space-y-3", children: t.bullets.map((l) => /* @__PURE__ */ r("li", { className: "flex items-start gap-2", children: [
54
- /* @__PURE__ */ e("span", { className: "bg-primary-600 mt-1 h-2.5 w-2.5", "aria-hidden": !0 }),
55
- /* @__PURE__ */ r("span", { children: [
56
- /* @__PURE__ */ r("strong", { children: [
57
- l.strong,
43
+ children: /* @__PURE__ */ a("div", { className: "text-medium space-y-4", children: [
44
+ l.intro,
45
+ /* @__PURE__ */ e("ul", { className: "text-medium space-y-3", children: l.bullets.map((t) => /* @__PURE__ */ a("li", { className: "flex items-start gap-2", children: [
46
+ /* @__PURE__ */ e("span", { className: "bg-primary-600 mt-1 h-2.5 w-2.5 rounded-full", "aria-hidden": !0 }),
47
+ /* @__PURE__ */ a("span", { children: [
48
+ /* @__PURE__ */ a("strong", { children: [
49
+ t.strong,
58
50
  " "
59
51
  ] }),
60
- l.text
52
+ t.text
61
53
  ] })
62
- ] }, l.id)) }),
63
- p && /* @__PURE__ */ e(i, { variant: "legal", content: t.closingMarkdown })
54
+ ] }, t.id)) }),
55
+ l.closing
64
56
  ] })
65
57
  }
66
58
  )
67
59
  ] }) }),
68
- m.map((l) => {
69
- const { firstColumn: u, secondColumn: h } = U(l);
60
+ r.map((t) => {
61
+ const { firstColumn: d, secondColumn: p } = h(t);
70
62
  return /* @__PURE__ */ e(
71
- c,
63
+ m,
72
64
  {
73
- className: `${l.background} lg:px-ds-10xl px-6 py-12 sm:px-10`,
74
- containerClassName: N(
75
- "!mx-auto !w-full !max-w-6xl !px-0 !py-0 !gap-8 md:!gap-10 lg:items-start",
76
- l.imageFirstOnMobile ? "!flex-col-reverse md:!flex-row" : "!flex-col md:!flex-row"
77
- ),
78
- firstColumn: u,
79
- secondColumn: h
65
+ className: `${t.background} px-6 py-16 sm:px-10 lg:px-24`,
66
+ containerClassName: "w-full !max-w-6xl flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-center",
67
+ firstColumn: d,
68
+ secondColumn: p
80
69
  },
81
- l.id
70
+ t.id
82
71
  );
83
72
  }),
84
73
  /* @__PURE__ */ e(
85
- M,
74
+ f,
86
75
  {
87
- title: a.title,
88
- content: a.contentMarkdown,
89
- stepsSlot: /* @__PURE__ */ e(w, { children: a.steps.map((l) => /* @__PURE__ */ e(
90
- I,
91
- {
92
- title: l.title,
93
- descriptionMarkdown: l.descriptionMarkdown,
94
- iconUrl: l.iconUrl,
95
- iconAlt: l.iconAlt ?? ""
96
- },
97
- l.id
98
- )) }),
99
- belowStepsSlot: g ? /* @__PURE__ */ e(
100
- i,
101
- {
102
- variant: "ratafia",
103
- content: a.belowStepsMarkdown,
104
- className: y
105
- }
106
- ) : null,
107
- cta: f,
76
+ title: s.title,
77
+ content: s.content,
78
+ stepsSlot: /* @__PURE__ */ e(x, { children: s.steps.map((t) => /* @__PURE__ */ e(g, { ...t }, t.id)) }),
79
+ belowStepsSlot: s.belowStepsSlot,
80
+ cta: /* @__PURE__ */ e(c, { ...o }),
108
81
  skipCtaWrapper: !0,
109
- image: /* @__PURE__ */ e(B, { src: a.imageUrl, alt: a.imageAlt }),
110
- sectionClassName: a.sectionClassName ?? "bg-neutral-25 px-6 pt-16 pb-12 sm:px-10 lg:px-ds-10xl"
82
+ image: s.image,
83
+ sectionClassName: s.sectionClassName ?? "bg-primary-50 px-6 py-16 sm:px-10 lg:px-24 xl:px-0"
111
84
  }
112
85
  ),
113
- /* @__PURE__ */ e(
114
- c,
86
+ /* @__PURE__ */ e("section", { className: "bg-white px-6 py-16 sm:px-10 lg:px-24", children: /* @__PURE__ */ e(
87
+ m,
115
88
  {
116
- className: "bg-neutral-25 lg:px-ds-10xl px-6 py-12 sm:px-10",
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: [
124
- /* @__PURE__ */ e("dt", { className: "font-semibold", children: l.label }),
125
- /* @__PURE__ */ e("dd", { children: l.value })
126
- ] }, `${l.label}-${l.value}`)) }),
127
- n.footer && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: n.footer }),
89
+ className: "bg-transparent",
90
+ containerClassName: "w-full !max-w-6xl flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-stretch",
91
+ firstColumn: /* @__PURE__ */ a("div", { className: "space-y-6 rounded-3xl border border-neutral-100 p-8 shadow-[0_20px_60px_rgba(3,42,56,0.12)] lg:w-1/2", children: [
92
+ /* @__PURE__ */ a("div", { children: [
93
+ /* @__PURE__ */ e("p", { className: "text-sm font-semibold tracking-[0.2em] text-neutral-500 uppercase", children: i.eyebrow }),
94
+ /* @__PURE__ */ e("h3", { className: "mt-2 text-3xl font-bold text-neutral-800", children: i.title })
95
+ ] }),
96
+ /* @__PURE__ */ e("div", { className: "space-y-4", children: i.rows.map((t) => /* @__PURE__ */ a(
97
+ "div",
98
+ {
99
+ className: "text-medium flex items-center justify-between border-b border-neutral-100 pb-3",
100
+ children: [
101
+ /* @__PURE__ */ e("span", { className: "text-neutral-500", children: t.label }),
102
+ /* @__PURE__ */ e("span", { className: "font-semibold text-neutral-900", children: t.value })
103
+ ]
104
+ },
105
+ t.label
106
+ )) }),
107
+ /* @__PURE__ */ e("div", { className: "bg-neutral-25 rounded-2xl p-4 text-neutral-700", children: i.footer })
108
+ ] }),
109
+ secondColumn: /* @__PURE__ */ a("div", { className: "bg-neutral-25 space-y-6 rounded-3xl p-8 shadow-[0_25px_70px_rgba(3,42,56,0.15)] lg:w-1/2", children: [
110
+ /* @__PURE__ */ e("div", { className: "relative aspect-420/306 w-full overflow-hidden rounded-2xl", children: n.image }),
111
+ /* @__PURE__ */ e("div", { className: "space-y-4 text-neutral-800", children: n.supportBody }),
128
112
  /* @__PURE__ */ e(
129
- o,
113
+ c,
130
114
  {
131
- size: "small",
132
- variant: "primary-green",
133
- className: "text-small inline-flex w-auto justify-center font-bold",
134
- children: /* @__PURE__ */ e("a", { href: s.cta.href, className: v, children: s.cta.label })
115
+ size: "large",
116
+ variant: "primary-darkgreen",
117
+ className: "text-medium w-full justify-center font-bold",
118
+ ...n.cta
135
119
  }
136
120
  )
137
121
  ] })
138
122
  }
139
- )
123
+ ) })
140
124
  ] });
141
125
  };
142
126
  export {
143
- J as HowItWorksTemplate
127
+ C as HowItWorksTemplate
144
128
  };
@@ -6,5 +6,6 @@ export declare const ImageWithPreview: FC<ImageWithPreviewProps>;
6
6
  export declare interface ImageWithPreviewProps {
7
7
  small: ReactNode;
8
8
  large: ReactNode;
9
+ onZoomClick?: () => void;
9
10
  }
10
11