@npm_leadtech/legal-contracts-ui 0.73.4 → 0.74.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.
- package/dist/components/AboutUsTemplate.d.ts +1 -0
- package/dist/components/CategoryProductTemplate.d.ts +45 -0
- package/dist/components/CategoryProductTemplate.js +28 -25
- package/dist/components/HomeTemplate.d.ts +9 -1
- package/dist/components/HowItWorksTemplate.d.ts +88 -0
- package/dist/components/HowItWorksTemplate.js +128 -0
- package/dist/components/IntroSection.d.ts +1 -0
- package/dist/components/IntroSection.js +9 -8
- package/dist/components/NotFoundTemplate.d.ts +1 -0
- package/dist/components/RatafiaSection.d.ts +9 -1
- package/dist/components/RatafiaSection.js +56 -27
- package/dist/components/TwoColumnSection.js +11 -7
- package/dist/components/index.d.ts +10 -1
- package/dist/globals.css +1 -1
- package/package.json +5 -1
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
|
+
export interface AlternativeSubtypeDocumentProps extends BaseSubtypeDocumentProps {
|
|
5
|
+
format: 'Alternative';
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface BaseSubtypeDocumentProps {
|
|
9
|
+
id: string;
|
|
10
|
+
link: ReactNode;
|
|
11
|
+
sampleImage: ReactNode;
|
|
12
|
+
pdfDownload: ReactNode;
|
|
13
|
+
wordDownload: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
|
|
4
16
|
export interface BlogSectionProps {
|
|
5
17
|
header: SectionHeadingProps;
|
|
6
18
|
articles: {
|
|
@@ -27,10 +39,31 @@ export declare interface CategoryProductTemplateProps {
|
|
|
27
39
|
breadcrumb: BreadcrumbProps;
|
|
28
40
|
categories: DocumentCategoriesProps;
|
|
29
41
|
documentSections: DocumentSectionProps[];
|
|
42
|
+
contentItems: ContentItemProps[];
|
|
30
43
|
faqSection: FaqSectionProps;
|
|
31
44
|
articles: BlogSectionProps;
|
|
32
45
|
}
|
|
33
46
|
|
|
47
|
+
export interface ContentItemProps {
|
|
48
|
+
id: string;
|
|
49
|
+
title: string | null;
|
|
50
|
+
content: string | null;
|
|
51
|
+
linkedProducts: LinkedProductProps[];
|
|
52
|
+
sampleImage: ImageWithPreviewProps | null;
|
|
53
|
+
cta: ReactNode | null;
|
|
54
|
+
docsModules: {
|
|
55
|
+
pdfDownload: ReactNode;
|
|
56
|
+
wordDownload: ReactNode;
|
|
57
|
+
} | null;
|
|
58
|
+
subtypeDocs: SubtypeDocumentProps[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
|
|
62
|
+
format: 'Default';
|
|
63
|
+
createDocButton: ReactNode;
|
|
64
|
+
description: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
34
67
|
export interface DocumentCategoriesProps {
|
|
35
68
|
title: string;
|
|
36
69
|
categories: {
|
|
@@ -70,6 +103,11 @@ export interface FaqSectionProps {
|
|
|
70
103
|
className?: string;
|
|
71
104
|
}
|
|
72
105
|
|
|
106
|
+
export interface ImageWithPreviewProps {
|
|
107
|
+
small: ReactNode;
|
|
108
|
+
large: ReactNode;
|
|
109
|
+
}
|
|
110
|
+
|
|
73
111
|
export interface JumboCardProps {
|
|
74
112
|
title: string;
|
|
75
113
|
description: string;
|
|
@@ -78,6 +116,11 @@ export interface JumboCardProps {
|
|
|
78
116
|
lastUpdate?: string;
|
|
79
117
|
}
|
|
80
118
|
|
|
119
|
+
export interface LinkedProductProps {
|
|
120
|
+
slug: string;
|
|
121
|
+
children: ReactNode;
|
|
122
|
+
}
|
|
123
|
+
|
|
81
124
|
export interface SectionHeadingProps {
|
|
82
125
|
title: string;
|
|
83
126
|
description?: string;
|
|
@@ -85,4 +128,6 @@ export interface SectionHeadingProps {
|
|
|
85
128
|
titleClass?: string;
|
|
86
129
|
className?: string;
|
|
87
130
|
}
|
|
131
|
+
|
|
132
|
+
export type SubtypeDocumentProps = DefaultSubtypeDocumentProps | AlternativeSubtypeDocumentProps;
|
|
88
133
|
|
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { JumboCard as
|
|
3
|
-
import { DocumentCategories as
|
|
4
|
-
import { DocumentSection as
|
|
5
|
-
import { Breadcrumb as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
/* @__PURE__ */
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
/* @__PURE__ */
|
|
1
|
+
import { jsxs as o, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { JumboCard as s } from "./JumboCard.js";
|
|
3
|
+
import { DocumentCategories as p } from "./DocumentCategories.js";
|
|
4
|
+
import { DocumentSection as f } from "./DocumentSection.js";
|
|
5
|
+
import { Breadcrumb as d } from "./Breadcrumb.js";
|
|
6
|
+
import { ContentItem as u } from "./ContentItem.js";
|
|
7
|
+
import { FaqSection as x } from "./FaqSection.js";
|
|
8
|
+
import { BlogSection as g } from "./BlogSection.js";
|
|
9
|
+
const y = ({
|
|
10
|
+
jumbo: e,
|
|
11
|
+
breadcrumb: a,
|
|
12
|
+
categories: t,
|
|
13
|
+
documentSections: i,
|
|
14
|
+
contentItems: l,
|
|
15
|
+
faqSection: c,
|
|
16
|
+
articles: n
|
|
17
|
+
}) => /* @__PURE__ */ o("main", { className: "mx-auto max-w-6xl flex-1", children: [
|
|
18
|
+
/* @__PURE__ */ r(s, { ...e }),
|
|
19
|
+
/* @__PURE__ */ r(d, { ...a, className: "pb-4" }),
|
|
20
|
+
/* @__PURE__ */ o("div", { className: "container mx-auto flex flex-col justify-center gap-30 lg:flex-row", children: [
|
|
21
|
+
/* @__PURE__ */ r(p, { ...t }),
|
|
22
|
+
/* @__PURE__ */ o("div", { className: "", children: [
|
|
23
|
+
i.map((m) => /* @__PURE__ */ r(f, { ...m }, m.id)),
|
|
24
|
+
/* @__PURE__ */ r("div", { className: "h-px w-full bg-neutral-200", "aria-hidden": !0 }),
|
|
25
|
+
l.map((m) => /* @__PURE__ */ r(u, { ...m }, m.id)),
|
|
26
|
+
/* @__PURE__ */ r(x, { ...c, className: "pb-6" }),
|
|
27
|
+
/* @__PURE__ */ r(g, { ...n })
|
|
25
28
|
] })
|
|
26
29
|
] })
|
|
27
30
|
] });
|
|
28
31
|
export {
|
|
29
|
-
|
|
32
|
+
y as CategoryProductTemplate
|
|
30
33
|
};
|
|
@@ -81,13 +81,21 @@ export interface ItemProps {
|
|
|
81
81
|
export interface LawGeniusSectionProps {
|
|
82
82
|
title: string;
|
|
83
83
|
content: string;
|
|
84
|
-
benefits
|
|
84
|
+
benefits?: {
|
|
85
85
|
id: string;
|
|
86
86
|
label: string;
|
|
87
87
|
icon: ReactNode;
|
|
88
88
|
}[];
|
|
89
|
+
/** When set, renders below the markdown instead of benefit chips (e.g. stacked AI step cards). */
|
|
90
|
+
stepsSlot?: ReactNode;
|
|
91
|
+
/** Optional copy between steps and CTA (centered + steps layout only). */
|
|
92
|
+
belowStepsSlot?: ReactNode;
|
|
89
93
|
cta: ReactNode;
|
|
90
94
|
image: ReactNode;
|
|
95
|
+
/** When true with `stepsSlot`, skips LinkWrapper around `cta` (e.g. plain Button). */
|
|
96
|
+
skipCtaWrapper?: boolean;
|
|
97
|
+
sectionClassName?: string;
|
|
98
|
+
innerClassName?: string;
|
|
91
99
|
}
|
|
92
100
|
|
|
93
101
|
export interface PopularDocumentsProps {
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
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';
|
|
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
|
+
|
|
26
|
+
export declare type HowItWorksHeroBullet = {
|
|
27
|
+
id: string;
|
|
28
|
+
strong: string;
|
|
29
|
+
text: string;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export declare type HowItWorksLawGeniusStep = {
|
|
33
|
+
id: string;
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
icon: ReactNode;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export declare type HowItWorksProcessStep = {
|
|
40
|
+
id: string;
|
|
41
|
+
title: string;
|
|
42
|
+
/** Column with text when not reversed; swap with image when `reverse` is true. */
|
|
43
|
+
body: ReactNode;
|
|
44
|
+
image: ReactNode;
|
|
45
|
+
background: 'bg-white' | 'bg-neutral-25';
|
|
46
|
+
reverse?: boolean;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export declare const HowItWorksTemplate: FC<HowItWorksTemplateProps>;
|
|
50
|
+
|
|
51
|
+
export declare interface HowItWorksTemplateProps {
|
|
52
|
+
hero: {
|
|
53
|
+
eyebrow: string;
|
|
54
|
+
title: string;
|
|
55
|
+
image: ReactNode;
|
|
56
|
+
intro: ReactNode;
|
|
57
|
+
bullets: HowItWorksHeroBullet[];
|
|
58
|
+
closing: ReactNode;
|
|
59
|
+
cta: ButtonProps;
|
|
60
|
+
};
|
|
61
|
+
processSteps: HowItWorksProcessStep[];
|
|
62
|
+
lawGenius: {
|
|
63
|
+
title: string;
|
|
64
|
+
content: string;
|
|
65
|
+
steps: HowItWorksLawGeniusStep[];
|
|
66
|
+
belowStepsSlot: ReactNode;
|
|
67
|
+
cta: ButtonProps;
|
|
68
|
+
image: ReactNode;
|
|
69
|
+
sectionClassName?: string;
|
|
70
|
+
};
|
|
71
|
+
resources: {
|
|
72
|
+
examples: HowItWorksExamplesProps;
|
|
73
|
+
image: ReactNode;
|
|
74
|
+
supportBody: ReactNode;
|
|
75
|
+
cta: ButtonProps;
|
|
76
|
+
};
|
|
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
|
+
};
|
|
88
|
+
|
|
@@ -0,0 +1,128 @@
|
|
|
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 })
|
|
30
|
+
] }),
|
|
31
|
+
/* @__PURE__ */ e(
|
|
32
|
+
u,
|
|
33
|
+
{
|
|
34
|
+
className: "bg-transparent",
|
|
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,
|
|
37
|
+
cta: {
|
|
38
|
+
size: "large",
|
|
39
|
+
variant: "primary-darkgreen",
|
|
40
|
+
className: "text-medium mt-8 w-full justify-center font-bold",
|
|
41
|
+
...l.cta
|
|
42
|
+
},
|
|
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,
|
|
50
|
+
" "
|
|
51
|
+
] }),
|
|
52
|
+
t.text
|
|
53
|
+
] })
|
|
54
|
+
] }, t.id)) }),
|
|
55
|
+
l.closing
|
|
56
|
+
] })
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
] }) }),
|
|
60
|
+
r.map((t) => {
|
|
61
|
+
const { firstColumn: d, secondColumn: p } = h(t);
|
|
62
|
+
return /* @__PURE__ */ e(
|
|
63
|
+
m,
|
|
64
|
+
{
|
|
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
|
|
69
|
+
},
|
|
70
|
+
t.id
|
|
71
|
+
);
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ e(
|
|
74
|
+
f,
|
|
75
|
+
{
|
|
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 }),
|
|
81
|
+
skipCtaWrapper: !0,
|
|
82
|
+
image: s.image,
|
|
83
|
+
sectionClassName: s.sectionClassName ?? "bg-primary-50 px-6 py-16 sm:px-10 lg:px-24 xl:px-0"
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ e("section", { className: "bg-white px-6 py-16 sm:px-10 lg:px-24", children: /* @__PURE__ */ e(
|
|
87
|
+
m,
|
|
88
|
+
{
|
|
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 }),
|
|
112
|
+
/* @__PURE__ */ e(
|
|
113
|
+
c,
|
|
114
|
+
{
|
|
115
|
+
size: "large",
|
|
116
|
+
variant: "primary-darkgreen",
|
|
117
|
+
className: "text-medium w-full justify-center font-bold",
|
|
118
|
+
...n.cta
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
] })
|
|
122
|
+
}
|
|
123
|
+
) })
|
|
124
|
+
] });
|
|
125
|
+
};
|
|
126
|
+
export {
|
|
127
|
+
C as HowItWorksTemplate
|
|
128
|
+
};
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { jsx as s, jsxs as
|
|
2
|
-
import { TwoColumnSection as
|
|
3
|
-
import { Button as
|
|
4
|
-
const
|
|
5
|
-
|
|
1
|
+
import { jsx as s, jsxs as o } from "react/jsx-runtime";
|
|
2
|
+
import { TwoColumnSection as t } from "./TwoColumnSection.js";
|
|
3
|
+
import { Button as e } from "./Button.js";
|
|
4
|
+
const b = ({ image: m, children: r, cta: a, className: i, containerClassName: l }) => /* @__PURE__ */ s(
|
|
5
|
+
t,
|
|
6
6
|
{
|
|
7
7
|
className: i ?? "",
|
|
8
|
+
containerClassName: l,
|
|
8
9
|
firstColumn: /* @__PURE__ */ s("div", { className: "mb-4 md:mr-6 md:mb-0 md:basis-42/100 lg:mr-10 lg:basis-39/100 xl:basis-36/100", children: m }),
|
|
9
|
-
secondColumn: /* @__PURE__ */
|
|
10
|
+
secondColumn: /* @__PURE__ */ o("div", { className: "mt-4 basis-full md:mt-0 md:basis-56/100 lg:basis-59/100 xl:basis-60/100", children: [
|
|
10
11
|
r,
|
|
11
|
-
/* @__PURE__ */ s(
|
|
12
|
+
/* @__PURE__ */ s(e, { size: "large", variant: "primary-darkgreen", className: "mt-8", ...a })
|
|
12
13
|
] })
|
|
13
14
|
}
|
|
14
15
|
);
|
|
15
16
|
export {
|
|
16
|
-
|
|
17
|
+
b as IntroSection
|
|
17
18
|
};
|
|
@@ -4,13 +4,21 @@ import { ReactNode } from 'react';
|
|
|
4
4
|
export declare interface LawGeniusSectionProps {
|
|
5
5
|
title: string;
|
|
6
6
|
content: string;
|
|
7
|
-
benefits
|
|
7
|
+
benefits?: {
|
|
8
8
|
id: string;
|
|
9
9
|
label: string;
|
|
10
10
|
icon: ReactNode;
|
|
11
11
|
}[];
|
|
12
|
+
/** When set, renders below the markdown instead of benefit chips (e.g. stacked AI step cards). */
|
|
13
|
+
stepsSlot?: ReactNode;
|
|
14
|
+
/** Optional copy between steps and CTA (centered + steps layout only). */
|
|
15
|
+
belowStepsSlot?: ReactNode;
|
|
12
16
|
cta: ReactNode;
|
|
13
17
|
image: ReactNode;
|
|
18
|
+
/** When true with `stepsSlot`, skips LinkWrapper around `cta` (e.g. plain Button). */
|
|
19
|
+
skipCtaWrapper?: boolean;
|
|
20
|
+
sectionClassName?: string;
|
|
21
|
+
innerClassName?: string;
|
|
14
22
|
}
|
|
15
23
|
|
|
16
24
|
export declare const RatafiaSection: FC<LawGeniusSectionProps>;
|
|
@@ -1,31 +1,60 @@
|
|
|
1
|
-
import { jsx as l, jsxs as
|
|
1
|
+
import { jsx as l, jsxs as e } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import { clsx as o } from "clsx";
|
|
4
|
+
import { Markdown as p } from "./Markdown.js";
|
|
5
|
+
import { LinkWrapper as f } from "./LinkWrapper.js";
|
|
6
|
+
const j = ({
|
|
7
|
+
title: m,
|
|
8
|
+
content: i,
|
|
9
|
+
benefits: s = [],
|
|
10
|
+
stepsSlot: t,
|
|
11
|
+
belowStepsSlot: g,
|
|
12
|
+
cta: r,
|
|
13
|
+
image: c,
|
|
14
|
+
skipCtaWrapper: h = !1,
|
|
15
|
+
sectionClassName: d,
|
|
16
|
+
innerClassName: x
|
|
17
|
+
}) => {
|
|
18
|
+
const n = "bg-primary-50 px-6 py-10 lg:px-8 lg:py-12 xl:px-0", w = "from-primary-900 via-primary-700 to-primary-900 mx-auto flex flex-col justify-between gap-8 rounded-2xl bg-linear-to-bl p-6 text-white md:flex-row md:items-center md:gap-10 md:p-10 lg:gap-16 lg:p-16 xl:mx-auto xl:max-w-300";
|
|
19
|
+
if (t != null) {
|
|
20
|
+
const a = h ? /* @__PURE__ */ l("div", { className: "w-full lg:w-fit", children: r }) : /* @__PURE__ */ l(f, { className: "w-full lg:w-fit", children: r });
|
|
21
|
+
return /* @__PURE__ */ l("section", { className: d ?? n, children: /* @__PURE__ */ l("div", { className: o("from-primary-900 mx-auto w-full max-w-6xl rounded-3xl bg-linear-to-bl p-10 text-white shadow-[0_25px_80px_rgba(3,42,56,0.35)]", x), children: /* @__PURE__ */ e("div", { className: "flex w-full flex-col gap-8", children: [
|
|
22
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-4 text-center text-white", children: [
|
|
23
|
+
/* @__PURE__ */ l("h2", { className: "lg:text-super-large text-3xl font-bold lg:leading-tight", children: m }),
|
|
24
|
+
/* @__PURE__ */ l(p, { content: i, className: "[&_p]:text-medium [&_p]:text-white/80 [&_p:last-child]:mb-0" })
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ e("div", { className: "flex w-full flex-col gap-10 lg:grid lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.1fr)] lg:items-center", children: [
|
|
27
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: [
|
|
28
|
+
t,
|
|
29
|
+
g,
|
|
30
|
+
a
|
|
31
|
+
] }),
|
|
32
|
+
/* @__PURE__ */ l("div", { className: "mx-auto flex w-full max-w-77 items-center justify-center md:mx-0 md:max-w-none md:min-w-0", children: c })
|
|
33
|
+
] })
|
|
34
|
+
] }) }) });
|
|
35
|
+
}
|
|
36
|
+
return /* @__PURE__ */ l("section", { className: d ?? n, children: /* @__PURE__ */ e("div", { className: o(w, x), children: [
|
|
37
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: [
|
|
38
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-4", children: [
|
|
39
|
+
/* @__PURE__ */ l("h2", { className: "text-super-large leading-tight font-bold", children: m }),
|
|
40
|
+
/* @__PURE__ */ l(p, { content: i, className: "[&_p:last-child]:mb-0" })
|
|
41
|
+
] }),
|
|
42
|
+
s.length > 0 && /* @__PURE__ */ l("div", { className: "flex flex-wrap gap-3", children: s.map((a) => /* @__PURE__ */ e(
|
|
43
|
+
"span",
|
|
44
|
+
{
|
|
45
|
+
className: "bg-primary-50 text-small text-primary-800 flex flex-nowrap gap-1 rounded-md p-1 font-semibold",
|
|
46
|
+
children: [
|
|
47
|
+
a.icon,
|
|
48
|
+
a.label
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
a.id
|
|
52
|
+
)) }),
|
|
53
|
+
/* @__PURE__ */ l(f, { className: "w-full md:w-fit", children: r })
|
|
10
54
|
] }),
|
|
11
|
-
/* @__PURE__ */ l("div", { className: "
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
className: "bg-primary-50 text-small text-primary-800 flex flex-nowrap gap-1 rounded-md p-1 font-semibold",
|
|
15
|
-
children: [
|
|
16
|
-
e.icon,
|
|
17
|
-
e.label
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
e.id
|
|
21
|
-
)) }),
|
|
22
|
-
/* @__PURE__ */ a(t, { className: "w-full md:w-fit", children: [
|
|
23
|
-
" ",
|
|
24
|
-
p
|
|
25
|
-
] })
|
|
26
|
-
] }),
|
|
27
|
-
/* @__PURE__ */ l("div", { className: "mx-auto w-full max-w-77 md:mx-0 md:min-w-74", children: d })
|
|
28
|
-
] }) });
|
|
55
|
+
/* @__PURE__ */ l("div", { className: "mx-auto w-full max-w-77 md:mx-0 md:min-w-74", children: c })
|
|
56
|
+
] }) });
|
|
57
|
+
};
|
|
29
58
|
export {
|
|
30
|
-
|
|
59
|
+
j as RatafiaSection
|
|
31
60
|
};
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
1
|
+
import { jsx as n, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { clsx as t } from "clsx";
|
|
3
|
+
const i = ({
|
|
3
4
|
firstColumn: e,
|
|
4
5
|
secondColumn: o,
|
|
5
|
-
className:
|
|
6
|
-
containerClassName:
|
|
7
|
-
}) => /* @__PURE__ */
|
|
6
|
+
className: r,
|
|
7
|
+
containerClassName: m
|
|
8
|
+
}) => /* @__PURE__ */ n("section", { className: r ?? "", children: /* @__PURE__ */ s(
|
|
8
9
|
"div",
|
|
9
10
|
{
|
|
10
|
-
className:
|
|
11
|
+
className: t(
|
|
12
|
+
"container mx-auto flex max-w-300 flex-row justify-center px-4 py-10 md:flex-nowrap md:px-8",
|
|
13
|
+
m
|
|
14
|
+
),
|
|
11
15
|
children: [
|
|
12
16
|
e,
|
|
13
17
|
o
|
|
@@ -15,5 +19,5 @@ const c = ({
|
|
|
15
19
|
}
|
|
16
20
|
) });
|
|
17
21
|
export {
|
|
18
|
-
|
|
22
|
+
i as TwoColumnSection
|
|
19
23
|
};
|
|
@@ -507,6 +507,7 @@ export declare interface IntroSectionProps {
|
|
|
507
507
|
children: ReactNode;
|
|
508
508
|
cta: ButtonProps;
|
|
509
509
|
className?: string;
|
|
510
|
+
containerClassName?: string;
|
|
510
511
|
}
|
|
511
512
|
|
|
512
513
|
export declare const Item: FC<ItemProps>;
|
|
@@ -582,13 +583,21 @@ export declare type LanguageSelectorVariant = 'default' | 'compact';
|
|
|
582
583
|
export declare interface LawGeniusSectionProps {
|
|
583
584
|
title: string;
|
|
584
585
|
content: string;
|
|
585
|
-
benefits
|
|
586
|
+
benefits?: {
|
|
586
587
|
id: string;
|
|
587
588
|
label: string;
|
|
588
589
|
icon: ReactNode;
|
|
589
590
|
}[];
|
|
591
|
+
/** When set, renders below the markdown instead of benefit chips (e.g. stacked AI step cards). */
|
|
592
|
+
stepsSlot?: ReactNode;
|
|
593
|
+
/** Optional copy between steps and CTA (centered + steps layout only). */
|
|
594
|
+
belowStepsSlot?: ReactNode;
|
|
590
595
|
cta: ReactNode;
|
|
591
596
|
image: ReactNode;
|
|
597
|
+
/** When true with `stepsSlot`, skips LinkWrapper around `cta` (e.g. plain Button). */
|
|
598
|
+
skipCtaWrapper?: boolean;
|
|
599
|
+
sectionClassName?: string;
|
|
600
|
+
innerClassName?: string;
|
|
592
601
|
}
|
|
593
602
|
|
|
594
603
|
export declare const LegalSection: FC<LegalSectionProps>;
|