@npm_leadtech/legal-contracts-ui 0.122.0 → 0.122.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,10 +79,10 @@ export interface IntroSectionProps {
79
79
  }
80
80
 
81
81
  export interface Jumbotron2Props {
82
- title: string;
82
+ title: ReactNode;
83
83
  subtitle?: string;
84
84
  className?: string;
85
- children?: React.ReactNode;
85
+ children?: ReactNode;
86
86
  variant?: 'default' | 'contact';
87
87
  }
88
88
 
@@ -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: string;
104
+ title: ReactNode;
105
105
  subtitle?: string;
106
106
  className?: string;
107
- children?: React.ReactNode;
107
+ children?: ReactNode;
108
108
  variant?: 'default' | 'contact';
109
109
  }
110
110
 
@@ -1,4 +1,5 @@
1
1
  import { FC } from 'react';
2
+ import { ReactNode } from 'react';
2
3
 
3
4
  export interface AsideNavMenuProps {
4
5
  menuItems: Array<{
@@ -33,10 +34,10 @@ export declare interface FaqsTemplateProps {
33
34
  }
34
35
 
35
36
  export interface Jumbotron2Props {
36
- title: string;
37
+ title: ReactNode;
37
38
  subtitle?: string;
38
39
  className?: string;
39
- children?: React.ReactNode;
40
+ children?: ReactNode;
40
41
  variant?: 'default' | 'contact';
41
42
  }
42
43
 
@@ -0,0 +1,10 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const HeroImageShell: FC<HeroImageShellProps>;
4
+
5
+ export declare interface HeroImageShellProps {
6
+ src: string | null;
7
+ alt: string;
8
+ priority?: boolean;
9
+ }
10
+
@@ -0,0 +1,15 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ const r = { w: 1200, h: 900 }, h = "relative aspect-[4/3] w-full overflow-hidden rounded-2xl bg-neutral-100 shadow-[0_25px_60px_rgba(3,42,56,0.12)]", t = "relative w-full overflow-hidden rounded-2xl shadow-[0_25px_60px_rgba(3,42,56,0.12)]", a = ({ empty: l, children: o }) => /* @__PURE__ */ e("div", { className: l ? h : t, "aria-hidden": l ? !0 : void 0, children: l ? null : o }), n = ({ src: l, alt: o, priority: d }) => l ? /* @__PURE__ */ e(a, { children: /* @__PURE__ */ e(
3
+ "img",
4
+ {
5
+ src: l,
6
+ alt: o,
7
+ width: r.w,
8
+ height: r.h,
9
+ className: "h-auto w-full max-w-full object-cover",
10
+ ...d ? { loading: "eager" } : { loading: "lazy" }
11
+ }
12
+ ) }) : /* @__PURE__ */ e(a, { empty: !0 });
13
+ export {
14
+ n as HeroImageShell
15
+ };
@@ -0,0 +1,16 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare const HowItWorksLawGeniusSection: FC<HowItWorksLawGeniusSectionProps>;
5
+
6
+ export declare interface HowItWorksLawGeniusSectionProps {
7
+ sectionTitle: string;
8
+ contentMarkdown: string;
9
+ descriptionMarkdown: string;
10
+ steps: ReactNode;
11
+ belowStepsMarkdown: string;
12
+ cta: ReactNode;
13
+ imageUrl: string | null;
14
+ imageAlt: string;
15
+ }
16
+
@@ -0,0 +1,41 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import { howItWorksLawGeniusBelowStepsMarkdownClassName as h } from "./HowItWorksTemplateTokens.js";
3
+ import { LawGeniusImageShell as p } from "./LawGeniusImageShell.js";
4
+ import { Markdown as t } from "./Markdown.js";
5
+ const v = ({
6
+ sectionTitle: s,
7
+ contentMarkdown: m,
8
+ descriptionMarkdown: a,
9
+ steps: r,
10
+ belowStepsMarkdown: i,
11
+ cta: n,
12
+ imageUrl: c,
13
+ imageAlt: x
14
+ }) => {
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
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-4 text-center text-white", children: [
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: 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
+ ] }),
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
+ /* @__PURE__ */ l("div", { className: "flex min-h-0 flex-col gap-6", children: [
24
+ r,
25
+ d && /* @__PURE__ */ e(
26
+ t,
27
+ {
28
+ variant: "ratafia",
29
+ content: i,
30
+ className: h
31
+ }
32
+ ),
33
+ /* @__PURE__ */ e("div", { className: "w-full lg:w-fit", children: n })
34
+ ] }),
35
+ /* @__PURE__ */ e("div", { className: "relative z-10 mx-auto flex min-h-0 w-full max-w-77 shrink-0 items-center justify-center overflow-hidden rounded-lg md:mx-0 md:max-w-none", children: /* @__PURE__ */ e(p, { src: c, alt: x }) })
36
+ ] })
37
+ ] }) }) });
38
+ };
39
+ export {
40
+ v as HowItWorksLawGeniusSection
41
+ };
@@ -1,27 +1,4 @@
1
- import { ComponentPropsWithRef } from 'react';
2
1
  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';
15
-
16
- export declare type HowItWorksExamplesProps = {
17
- eyebrow: string;
18
- title: string;
19
- rows: {
20
- label: string;
21
- value: string;
22
- }[];
23
- footer: string;
24
- };
25
2
 
26
3
  export declare type HowItWorksHeroBullet = {
27
4
  id: string;
@@ -29,68 +6,74 @@ export declare type HowItWorksHeroBullet = {
29
6
  text: string;
30
7
  };
31
8
 
32
- export declare const howItWorksHeroCtaLinkClassName = "font-semibold text-white";
33
-
34
- export declare const howItWorksLawGeniusBelowStepsMarkdownClassName = "text-medium";
35
-
36
- export declare const howItWorksLawGeniusCtaLinkClassName = "font-semibold text-white";
37
-
38
9
  export declare type HowItWorksLawGeniusStep = {
39
10
  id: string;
40
11
  title: string;
41
- description: ReactNode;
42
- icon: ReactNode;
12
+ descriptionMarkdown: string;
13
+ iconUrl: string | null;
14
+ iconAlt?: string;
43
15
  };
44
16
 
45
17
  export declare type HowItWorksProcessStep = {
46
18
  id: string;
47
19
  title: string;
48
- body: ReactNode;
49
- image: ReactNode;
50
- background: 'bg-white' | 'bg-neutral-25';
51
- reverse?: boolean;
52
- imageFirstOnMobile?: boolean;
20
+ bodyMarkdown: string;
53
21
  };
54
22
 
55
- export declare const howItWorksResourcesCtaLinkClassName = "font-semibold";
56
-
57
23
  export declare const HowItWorksTemplate: FC<HowItWorksTemplateProps>;
58
24
 
59
25
  export declare interface HowItWorksTemplateProps {
60
26
  hero: {
61
- eyebrow: string;
62
- title: string;
63
- image: ReactNode;
64
- intro: ReactNode;
27
+ jumbotronEyebrow: string;
28
+ jumbotronHeadline: string;
29
+ imageUrl: string | null;
30
+ imageAlt: string;
31
+ imagePriority?: boolean;
32
+ introMarkdown: string;
65
33
  bullets: HowItWorksHeroBullet[];
66
- closing: ReactNode;
67
- cta: ButtonProps;
34
+ closingMarkdown: string;
35
+ cta: {
36
+ href: string;
37
+ label: string;
38
+ };
39
+ };
40
+ processSteps: {
41
+ sectionTitle: string;
42
+ steps: HowItWorksProcessStep[];
43
+ imageUrl: string | null;
44
+ imageAlt: string;
68
45
  };
69
- processSteps: HowItWorksProcessStep[];
70
46
  lawGenius: {
71
- title: string;
72
- content: string;
47
+ sectionTitle: string;
48
+ contentMarkdown: string;
49
+ descriptionMarkdown: string;
73
50
  steps: HowItWorksLawGeniusStep[];
74
- belowStepsSlot: ReactNode;
75
- cta: ButtonProps;
76
- image: ReactNode;
77
- sectionClassName?: string;
51
+ belowStepsMarkdown: string;
52
+ imageUrl: string | null;
53
+ imageAlt: string;
54
+ cta: {
55
+ href: string;
56
+ label: string;
57
+ };
78
58
  };
79
59
  resources: {
80
- examples: HowItWorksExamplesProps;
81
- image: ReactNode;
82
- supportBody: ReactNode;
83
- cta: ButtonProps;
60
+ sectionTitle: string;
61
+ supportTitle: string;
62
+ supportBodyMarkdown: string;
63
+ imageUrl: string | null;
64
+ imageAlt: string;
65
+ cta: {
66
+ href: string;
67
+ label: string;
68
+ };
69
+ };
70
+ relatedCategories?: {
71
+ title: string;
72
+ items: {
73
+ id: string;
74
+ name: string;
75
+ href: string;
76
+ }[];
84
77
  };
85
78
  }
86
-
87
- export type IconPosition = 'left' | 'right' | 'top';
88
-
89
- export type ResponsiveButtonVariant = ButtonVariant | {
90
- initial?: ButtonVariant;
91
- sm?: ButtonVariant;
92
- md?: ButtonVariant;
93
- lg?: ButtonVariant;
94
- xl?: ButtonVariant;
95
- };
96
79
 
@@ -1,124 +1,98 @@
1
- import { jsxs as a, jsx as e, Fragment as p } from "react/jsx-runtime";
2
- import { clsx as u } from "clsx";
3
- import { Button as r } from "./Button.js";
4
- import { IntroSection as g } from "./IntroSection.js";
5
- import { RatafiaSection as f } from "./RatafiaSection.js";
6
- import { TwoColumnSection as o } from "./TwoColumnSection.js";
7
- const S = "font-semibold text-white", _ = "font-semibold text-white", j = "font-semibold", I = "text-medium", h = ({ title: t, description: n, icon: l }) => /* @__PURE__ */ a("div", { className: "bg-neutral-25 flex flex-col gap-2 rounded-sm p-6", children: [
8
- /* @__PURE__ */ a("div", { className: "flex w-full items-start gap-2", children: [
9
- /* @__PURE__ */ e("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center [&_img]:h-5 [&_img]:w-5 [&_img]:object-contain [&_svg]:h-5 [&_svg]:w-5", children: l }),
10
- /* @__PURE__ */ e("p", { className: "text-big min-w-0 flex-1 font-bold tracking-tight text-neutral-800", children: t })
11
- ] }),
12
- /* @__PURE__ */ e("div", { className: "text-small w-full min-w-0 tracking-tight text-neutral-800 [&_p:last-child]:mb-0 [&_strong]:font-bold", children: n })
13
- ] }), w = (t) => {
14
- const n = /* @__PURE__ */ a("div", { className: "min-w-0 space-y-4 text-neutral-800 lg:basis-[47%]", children: [
15
- /* @__PURE__ */ e("h2", { className: "font-lora text-[2.05rem] leading-[1.15] font-bold text-neutral-800", children: t.title }),
16
- /* @__PURE__ */ e("div", { className: "text-small space-y-3 text-neutral-700", children: t.body })
17
- ] }), l = /* @__PURE__ */ e("div", { className: "w-full shrink-0 lg:w-1/2 lg:max-w-[50%]", children: t.image });
18
- return t.reverse ? { firstColumn: l, secondColumn: n } : { firstColumn: n, secondColumn: l };
19
- }, L = ({ hero: t, processSteps: n, lawGenius: l, resources: m }) => {
20
- const c = {
21
- size: "large",
22
- variant: "primary-green",
23
- className: "!rounded-md text-medium w-full justify-center font-bold lg:w-auto",
24
- ...l.cta
25
- }, { examples: i } = m;
26
- return /* @__PURE__ */ a("main", { className: "flex w-full max-w-full min-w-0 flex-1 flex-col", children: [
27
- /* @__PURE__ */ e("section", { className: "bg-primary-50 lg:px-ds-10xl px-6 pt-4 pb-12 sm:px-10", children: /* @__PURE__ */ a("div", { className: "mx-auto flex max-w-6xl flex-col gap-12", children: [
28
- /* @__PURE__ */ a("div", { className: "text-center", children: [
29
- /* @__PURE__ */ a("div", { className: "mx-auto inline-flex max-w-full flex-col items-center gap-2", children: [
30
- /* @__PURE__ */ e("p", { className: "text-small font-semibold tracking-[0.3em] whitespace-nowrap text-neutral-600 uppercase", children: t.eyebrow }),
31
- /* @__PURE__ */ e("span", { className: "h-px w-full max-w-[7.5rem] min-w-[5.5rem] shrink-0 bg-neutral-400", "aria-hidden": !0 })
32
- ] }),
33
- /* @__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 })
34
- ] }),
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
+ import { howItWorksResourcesSupportBodyClassName as g } from "./HowItWorksTemplateTokens.js";
3
+ import { HeroImageShell as f } from "./HeroImageShell.js";
4
+ import { StepImageShell as N } from "./StepImageShell.js";
5
+ import { HowItWorksLawGeniusSection as b } from "./HowItWorksLawGeniusSection.js";
6
+ import { LawGeniusStepCard as v } from "./LawGeniusStepCard.js";
7
+ import { ResourcesImageShell as u } from "./ResourcesImageShell.js";
8
+ import { Jumbotron2 as y } from "./Jumbotron2.js";
9
+ import { Markdown as n } from "./Markdown.js";
10
+ import { LinkWrapper as o } from "./LinkWrapper.js";
11
+ import { TwoColumnSection as s } from "./TwoColumnSection.js";
12
+ import { IntroSection as k } from "./IntroSection.js";
13
+ const B = ({
14
+ hero: a,
15
+ processSteps: m,
16
+ lawGenius: l,
17
+ resources: r,
18
+ relatedCategories: c = { title: "", items: [] }
19
+ }) => {
20
+ const d = a.jumbotronHeadline.trim(), h = a.introMarkdown.trim().length > 0, p = a.closingMarkdown.trim().length > 0, x = r.supportBodyMarkdown.trim().length > 0;
21
+ return /* @__PURE__ */ i("div", { className: "bg-pampas", children: [
22
+ /* @__PURE__ */ e(y, { title: a.jumbotronEyebrow, subtitle: d.length > 0 ? d : void 0, children: /* @__PURE__ */ i("div", { className: "mx-auto max-w-6xl", children: [
23
+ h && /* @__PURE__ */ e("div", { className: "mb-8 text-center", children: /* @__PURE__ */ e(n, { variant: "legal", content: a.introMarkdown }) }),
24
+ /* @__PURE__ */ e("div", { className: "hero-image mb-8 flex justify-center", children: /* @__PURE__ */ e(f, { src: a.imageUrl, alt: a.imageAlt, priority: a.imagePriority }) }),
25
+ /* @__PURE__ */ e("div", { className: "hero-bullets grid gap-6 md:grid-cols-2 md:gap-10", children: a.bullets.map((t) => /* @__PURE__ */ i("div", { className: "flex items-start gap-3", children: [
26
+ /* @__PURE__ */ e("span", { className: "bg-primary-green mt-1.5 h-2.5 w-2.5 shrink-0 rounded-full", "aria-hidden": !0 }),
27
+ /* @__PURE__ */ e("div", { className: "text-small text-neutral-800", children: /* @__PURE__ */ e(n, { variant: "legal", content: `**${t.strong}** ${t.text}` }) })
28
+ ] }, t.id)) }),
29
+ p && /* @__PURE__ */ e("div", { className: "mt-8", children: /* @__PURE__ */ e("div", { className: "text-center text-base leading-relaxed", children: /* @__PURE__ */ e(n, { variant: "legal", content: a.closingMarkdown }) }) }),
30
+ /* @__PURE__ */ e("div", { className: "mt-8 flex justify-center", children: /* @__PURE__ */ e(o, { size: "large", variant: "primary-green", children: /* @__PURE__ */ e("a", { href: a.cta.href, children: a.cta.label }) }) })
31
+ ] }) }),
32
+ /* @__PURE__ */ e("section", { className: "px-4 py-12 md:px-8 lg:py-16", children: /* @__PURE__ */ i("div", { className: "mx-auto max-w-6xl", children: [
33
+ /* @__PURE__ */ e("h2", { className: "text-h2 mb-8 text-center font-bold text-neutral-900", children: m.sectionTitle }),
35
34
  /* @__PURE__ */ e(
36
- g,
35
+ s,
37
36
  {
38
- className: "bg-transparent",
39
- containerClassName: "w-full !max-w-none flex-col gap-10 !px-0 !py-0 lg:flex-row lg:items-stretch",
40
- image: t.image,
41
- cta: {
42
- size: "large",
43
- variant: "primary-green",
44
- className: "text-medium mt-8 w-full justify-center font-bold",
45
- ...t.cta
46
- },
47
- children: /* @__PURE__ */ a("div", { className: "text-medium space-y-4 [&_ul]:my-8 [&_ul]:list-disc [&_ul]:pl-[1.2rem]", children: [
48
- t.intro,
49
- /* @__PURE__ */ e("ul", { className: "text-medium space-y-3", children: t.bullets.map((s) => /* @__PURE__ */ a("li", { className: "flex items-start gap-2", children: [
50
- /* @__PURE__ */ e("span", { className: "bg-primary-600 mt-1 h-2.5 w-2.5", "aria-hidden": !0 }),
51
- /* @__PURE__ */ a("span", { children: [
52
- /* @__PURE__ */ a("strong", { children: [
53
- s.strong,
54
- " "
55
- ] }),
56
- s.text
57
- ] })
58
- ] }, s.id)) }),
59
- t.closing
60
- ] })
37
+ firstColumn: /* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: m.steps.map((t) => /* @__PURE__ */ i("div", { className: "flex items-start gap-4", children: [
38
+ /* @__PURE__ */ e("span", { className: "text-h2 font-bold text-neutral-300", children: t.id }),
39
+ /* @__PURE__ */ i("div", { children: [
40
+ /* @__PURE__ */ e("h3", { className: "text-h3 mb-2 font-bold text-neutral-900", children: t.title }),
41
+ /* @__PURE__ */ e("div", { className: "text-small text-neutral-800", children: /* @__PURE__ */ e(n, { variant: "legal", content: t.bodyMarkdown }) })
42
+ ] })
43
+ ] }, t.id)) }),
44
+ secondColumn: /* @__PURE__ */ e("div", { className: "flex justify-center", children: /* @__PURE__ */ e(N, { src: m.imageUrl, alt: m.imageAlt }) })
61
45
  }
62
46
  )
63
47
  ] }) }),
64
- n.map((s) => {
65
- const { firstColumn: d, secondColumn: x } = w(s);
66
- return /* @__PURE__ */ e(
67
- o,
68
- {
69
- className: `${s.background} lg:px-ds-10xl px-6 py-12 sm:px-10`,
70
- containerClassName: u(
71
- "!mx-auto !w-full !max-w-6xl !px-0 !py-0 !gap-8 md:!gap-10 lg:items-start",
72
- s.imageFirstOnMobile ? "!flex-col-reverse md:!flex-row" : "!flex-col md:!flex-row"
73
- ),
74
- firstColumn: d,
75
- secondColumn: x
76
- },
77
- s.id
78
- );
79
- }),
80
48
  /* @__PURE__ */ e(
81
- f,
49
+ b,
82
50
  {
83
- title: l.title,
84
- content: l.content,
85
- stepsSlot: /* @__PURE__ */ e(p, { children: l.steps.map((s) => /* @__PURE__ */ e(h, { ...s }, s.id)) }),
86
- belowStepsSlot: l.belowStepsSlot,
87
- cta: /* @__PURE__ */ e(r, { ...c }),
88
- skipCtaWrapper: !0,
89
- image: l.image,
90
- sectionClassName: l.sectionClassName ?? "bg-neutral-25 px-6 pb-12 pt-16 sm:px-10 lg:px-ds-10xl"
51
+ sectionTitle: l.sectionTitle,
52
+ contentMarkdown: l.contentMarkdown,
53
+ descriptionMarkdown: l.descriptionMarkdown,
54
+ steps: l.steps.map((t) => /* @__PURE__ */ e(
55
+ v,
56
+ {
57
+ title: t.title,
58
+ descriptionMarkdown: t.descriptionMarkdown,
59
+ iconUrl: t.iconUrl,
60
+ iconAlt: t.iconAlt ?? ""
61
+ },
62
+ t.id
63
+ )),
64
+ belowStepsMarkdown: l.belowStepsMarkdown,
65
+ imageUrl: l.imageUrl,
66
+ imageAlt: l.imageAlt,
67
+ cta: /* @__PURE__ */ e(o, { size: "large", variant: "primary-green", children: /* @__PURE__ */ e("a", { href: l.cta.href, children: l.cta.label }) })
91
68
  }
92
69
  ),
93
- /* @__PURE__ */ e(
94
- o,
70
+ /* @__PURE__ */ e("section", { className: "px-4 py-12 md:px-8 lg:py-16", children: /* @__PURE__ */ e("div", { className: "mx-auto max-w-6xl", children: /* @__PURE__ */ e(
71
+ s,
72
+ {
73
+ firstColumn: /* @__PURE__ */ i("div", { className: "flex flex-col justify-center", children: [
74
+ /* @__PURE__ */ e("h2", { className: "text-h2 mb-4 font-bold text-neutral-900", children: r.sectionTitle }),
75
+ /* @__PURE__ */ e("h3", { className: "text-h3 mb-4 font-bold text-neutral-900", children: r.supportTitle }),
76
+ x && /* @__PURE__ */ e("div", { className: `mb-6 ${g}`, children: /* @__PURE__ */ e(n, { variant: "legal", content: r.supportBodyMarkdown }) }),
77
+ /* @__PURE__ */ e(o, { size: "large", variant: "primary-green", children: /* @__PURE__ */ e("a", { href: r.cta.href, children: r.cta.label }) })
78
+ ] }),
79
+ secondColumn: /* @__PURE__ */ e("div", { className: "flex justify-center", children: /* @__PURE__ */ e(u, { src: r.imageUrl, alt: r.imageAlt }) })
80
+ }
81
+ ) }) }),
82
+ /* @__PURE__ */ i(
83
+ k,
95
84
  {
96
- className: "bg-neutral-25 lg:px-ds-10xl px-6 py-12 sm:px-10",
97
- containerClassName: "!mx-auto !w-full !max-w-6xl !items-start !gap-8 !px-0 !py-0 md:!gap-10 lg:!items-stretch",
98
- 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: m.image }),
99
- secondColumn: /* @__PURE__ */ a("div", { className: "w-full space-y-4 lg:basis-[52%]", children: [
100
- i.eyebrow && /* @__PURE__ */ e("p", { className: "text-xs font-semibold tracking-[0.2em] text-neutral-500 uppercase", children: i.eyebrow }),
101
- i.title && /* @__PURE__ */ e("h3", { className: "font-lora text-[2rem] leading-[1.2] font-bold text-neutral-800", children: i.title }),
102
- /* @__PURE__ */ e("div", { className: "text-small space-y-3 text-neutral-700", children: m.supportBody }),
103
- i.footer && /* @__PURE__ */ e("p", { className: "text-small text-neutral-600", children: i.footer }),
104
- /* @__PURE__ */ e(
105
- r,
106
- {
107
- size: "small",
108
- variant: "primary-green",
109
- className: "text-small inline-flex w-auto justify-center font-bold",
110
- ...m.cta
111
- }
112
- )
113
- ] })
85
+ className: "bg-pampas py-12 md:py-16",
86
+ containerClassName: "max-w-6xl mx-auto px-4 md:px-8",
87
+ image: /* @__PURE__ */ e("div", { className: "text-center text-lg text-neutral-600", children: "[Categorías relacionadas placeholder]" }),
88
+ children: [
89
+ /* @__PURE__ */ e("h2", { className: "text-h2 mb-6 font-bold text-neutral-900", children: c.title }),
90
+ /* @__PURE__ */ e("ul", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3", children: c.items.map((t) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("a", { href: t.href, className: "text-primary-green hover:text-primary-green-dark block text-base underline", children: t.name }) }, t.id)) })
91
+ ]
114
92
  }
115
93
  )
116
94
  ] });
117
95
  };
118
96
  export {
119
- L as HowItWorksTemplate,
120
- S as howItWorksHeroCtaLinkClassName,
121
- I as howItWorksLawGeniusBelowStepsMarkdownClassName,
122
- _ as howItWorksLawGeniusCtaLinkClassName,
123
- j as howItWorksResourcesCtaLinkClassName
97
+ B as HowItWorksTemplate
124
98
  };
@@ -0,0 +1,12 @@
1
+ /** Tailwind class strings for `next/link` / markdown in How It Works Strapi mappers (consumed by legal-contracts-web). */
2
+ export declare const howItWorksHeroCtaLinkClassName = "font-semibold text-white";
3
+
4
+ export declare const howItWorksLawGeniusBelowStepsMarkdownClassName = "text-medium";
5
+
6
+ export declare const howItWorksLawGeniusCtaLinkClassName = "font-semibold text-white";
7
+
8
+ export declare const howItWorksResourcesCtaLinkClassName = "font-semibold";
9
+
10
+ /** Support column markdown: spacing for H2 vs body */
11
+ export declare const howItWorksResourcesSupportBodyClassName = "[&_h2]:mb-8";
12
+
@@ -0,0 +1,8 @@
1
+ const s = "font-semibold text-white", o = "font-semibold text-white", t = "font-semibold", e = "text-medium", a = "[&_h2]:mb-8";
2
+ export {
3
+ s as howItWorksHeroCtaLinkClassName,
4
+ e as howItWorksLawGeniusBelowStepsMarkdownClassName,
5
+ o as howItWorksLawGeniusCtaLinkClassName,
6
+ t as howItWorksResourcesCtaLinkClassName,
7
+ a as howItWorksResourcesSupportBodyClassName
8
+ };
@@ -1,12 +1,13 @@
1
1
  import { FC } from 'react';
2
+ import { ReactNode } from 'react';
2
3
 
3
4
  export declare const Jumbotron2: FC<Jumbotron2Props>;
4
5
 
5
6
  export declare interface Jumbotron2Props {
6
- title: string;
7
+ title: ReactNode;
7
8
  subtitle?: string;
8
9
  className?: string;
9
- children?: React.ReactNode;
10
+ children?: ReactNode;
10
11
  variant?: 'default' | 'contact';
11
12
  }
12
13
 
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const LawGeniusImageShell: FC<LawGeniusImageShellProps>;
4
+
5
+ export declare interface LawGeniusImageShellProps {
6
+ src: string | null;
7
+ alt: string;
8
+ }
9
+
@@ -0,0 +1,15 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ const a = { w: 898, h: 1100 }, i = "aspect-[449/550]", n = "relative w-full max-w-md overflow-hidden rounded-lg", r = `${n} bg-white`, o = `${n} bg-neutral-100 ${i}`, s = ({ empty: l, children: t }) => l ? /* @__PURE__ */ e("div", { className: o, "aria-hidden": !0 }) : /* @__PURE__ */ e("div", { className: r, children: t }), h = ({ src: l, alt: t }) => l ? /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(
3
+ "img",
4
+ {
5
+ src: l,
6
+ alt: t,
7
+ width: a.w,
8
+ height: a.h,
9
+ className: "h-auto w-full max-w-full object-cover",
10
+ loading: "lazy"
11
+ }
12
+ ) }) : /* @__PURE__ */ e(s, { empty: !0 });
13
+ export {
14
+ h as LawGeniusImageShell
15
+ };
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const LawGeniusStepCard: FC<LawGeniusStepCardProps>;
4
+
5
+ export declare interface LawGeniusStepCardProps {
6
+ title: string;
7
+ descriptionMarkdown: string;
8
+ iconUrl: string | null;
9
+ iconAlt?: string;
10
+ }
11
+
@@ -0,0 +1,17 @@
1
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
+ import { Markdown as s } from "./Markdown.js";
3
+ const m = ({
4
+ title: l,
5
+ descriptionMarkdown: i,
6
+ iconUrl: e,
7
+ iconAlt: n = ""
8
+ }) => /* @__PURE__ */ a("div", { className: "bg-neutral-25 flex flex-col gap-2 rounded-sm p-6", children: [
9
+ /* @__PURE__ */ a("div", { className: "flex w-full items-start gap-2", children: [
10
+ /* @__PURE__ */ t("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center [&_img]:h-5 [&_img]:w-5 [&_img]:object-contain [&_svg]:h-5 [&_svg]:w-5", children: e ? /* @__PURE__ */ t("img", { src: e, alt: n, className: "h-5 w-5 object-contain" }) : /* @__PURE__ */ t("span", { className: "inline-block h-5 w-5 shrink-0", "aria-hidden": !0 }) }),
11
+ /* @__PURE__ */ t("p", { className: "text-big min-w-0 flex-1 font-bold tracking-tight text-neutral-800", children: l })
12
+ ] }),
13
+ /* @__PURE__ */ t("div", { className: "text-small w-full min-w-0 tracking-tight text-neutral-800 [&_p:last-child]:mb-0 [&_strong]:font-bold", children: /* @__PURE__ */ t(s, { variant: "legal", content: i }) })
14
+ ] });
15
+ export {
16
+ m as LawGeniusStepCard
17
+ };
@@ -39,10 +39,10 @@ export interface IntroSectionProps {
39
39
  }
40
40
 
41
41
  export interface Jumbotron2Props {
42
- title: string;
42
+ title: ReactNode;
43
43
  subtitle?: string;
44
44
  className?: string;
45
- children?: React.ReactNode;
45
+ children?: ReactNode;
46
46
  variant?: 'default' | 'contact';
47
47
  }
48
48
 
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+
3
+ export declare const ResourcesImageShell: FC<ResourcesImageShellProps>;
4
+
5
+ export declare interface ResourcesImageShellProps {
6
+ src: string | null;
7
+ alt: string;
8
+ }
9
+
@@ -0,0 +1,15 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ const o = { w: 840, h: 612 }, t = "relative aspect-420/306 w-full overflow-hidden rounded-2xl bg-neutral-100", a = "relative w-full overflow-hidden rounded-2xl", s = ({ empty: e, children: r }) => /* @__PURE__ */ l("div", { className: e ? t : a, "aria-hidden": e ? !0 : void 0, children: e ? null : r }), i = ({ src: e, alt: r }) => e ? /* @__PURE__ */ l(s, { children: /* @__PURE__ */ l(
3
+ "img",
4
+ {
5
+ src: e,
6
+ alt: r,
7
+ width: o.w,
8
+ height: o.h,
9
+ className: "h-auto w-full max-w-full object-cover",
10
+ loading: "lazy"
11
+ }
12
+ ) }) : /* @__PURE__ */ l(s, { empty: !0 });
13
+ export {
14
+ i as ResourcesImageShell
15
+ };