@npm_leadtech/legal-contracts-ui 0.188.3 → 0.188.4
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/AiLegalDocumentReviewerTemplate.d.ts +8 -3
- package/dist/components/ConversionSection.d.ts +8 -3
- package/dist/components/ElectronicSignatureTemplate.d.ts +8 -3
- package/dist/components/ExploreToolsSection.d.ts +24 -0
- package/dist/components/ExploreToolsSection.js +46 -0
- package/dist/components/Hero2Section.d.ts +8 -3
- package/dist/components/HomeTemplate.d.ts +2 -1
- package/dist/components/LockIcon.d.ts +4 -0
- package/dist/components/LockIcon.js +34 -0
- package/dist/components/NavMenuItem.js +4 -4
- package/dist/components/PdfToolsBenefitsSection.d.ts +17 -0
- package/dist/components/PdfToolsBenefitsSection.js +37 -0
- package/dist/components/PdfToolsHero.d.ts +38 -0
- package/dist/components/PdfToolsHero.js +53 -0
- package/dist/components/PdfToolsTemplate.d.ts +126 -0
- package/dist/components/PdfToolsTemplate.js +49 -0
- package/dist/components/ProcessSection.d.ts +2 -1
- package/dist/components/ProcessSection.js +36 -27
- package/dist/components/UploadDocIcon.d.ts +4 -0
- package/dist/components/UploadDocIcon.js +32 -0
- package/dist/components/UploadZone.d.ts +8 -3
- package/dist/components/UploadZone.js +97 -49
- package/dist/components/index.d.ts +68 -4
- package/dist/index.js +105 -100
- package/package.json +25 -1
|
@@ -131,10 +131,15 @@ export interface ToastProps {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
export interface UploadZoneProps {
|
|
134
|
-
uploadPromptText
|
|
134
|
+
uploadPromptText?: string;
|
|
135
135
|
addDocumentLabel: string;
|
|
136
|
-
fileSizeText
|
|
137
|
-
disclaimer
|
|
136
|
+
fileSizeText?: string;
|
|
137
|
+
disclaimer?: string;
|
|
138
|
+
title?: string;
|
|
139
|
+
description?: string;
|
|
140
|
+
trustLine?: string;
|
|
141
|
+
uploadIcon?: ReactNode;
|
|
142
|
+
variant?: 'default' | 'pdf-tools';
|
|
138
143
|
containerClassName?: string;
|
|
139
144
|
onAddDocument?: () => void;
|
|
140
145
|
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
@@ -11,10 +11,15 @@ export declare interface ConversionSectionProps {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export interface UploadZoneProps {
|
|
14
|
-
uploadPromptText
|
|
14
|
+
uploadPromptText?: string;
|
|
15
15
|
addDocumentLabel: string;
|
|
16
|
-
fileSizeText
|
|
17
|
-
disclaimer
|
|
16
|
+
fileSizeText?: string;
|
|
17
|
+
disclaimer?: string;
|
|
18
|
+
title?: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
trustLine?: string;
|
|
21
|
+
uploadIcon?: ReactNode;
|
|
22
|
+
variant?: 'default' | 'pdf-tools';
|
|
18
23
|
containerClassName?: string;
|
|
19
24
|
onAddDocument?: () => void;
|
|
20
25
|
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
@@ -123,10 +123,15 @@ export interface ToastProps {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
export interface UploadZoneProps {
|
|
126
|
-
uploadPromptText
|
|
126
|
+
uploadPromptText?: string;
|
|
127
127
|
addDocumentLabel: string;
|
|
128
|
-
fileSizeText
|
|
129
|
-
disclaimer
|
|
128
|
+
fileSizeText?: string;
|
|
129
|
+
disclaimer?: string;
|
|
130
|
+
title?: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
trustLine?: string;
|
|
133
|
+
uploadIcon?: ReactNode;
|
|
134
|
+
variant?: 'default' | 'pdf-tools';
|
|
130
135
|
containerClassName?: string;
|
|
131
136
|
onAddDocument?: () => void;
|
|
132
137
|
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare interface ExploreToolsGroup {
|
|
5
|
+
id: string;
|
|
6
|
+
icon: ReactNode;
|
|
7
|
+
label: string;
|
|
8
|
+
tools: ExploreToolsTool[];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export declare const ExploreToolsSection: FC<ExploreToolsSectionProps>;
|
|
12
|
+
|
|
13
|
+
export declare interface ExploreToolsSectionProps {
|
|
14
|
+
title: string;
|
|
15
|
+
description: string;
|
|
16
|
+
groups: ExploreToolsGroup[];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export declare interface ExploreToolsTool {
|
|
20
|
+
id: string;
|
|
21
|
+
label: string;
|
|
22
|
+
href: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SectionHeading as e } from "./SectionHeading.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region lib/components/organisms/ExploreToolsSection.tsx
|
|
4
|
+
var r = ({ title: r, description: i, groups: a }) => {
|
|
5
|
+
let o = a.filter((e) => e.tools.length > 0);
|
|
6
|
+
return o.length === 0 ? null : /* @__PURE__ */ t("section", {
|
|
7
|
+
className: "bg-white px-6 py-8 lg:px-8 lg:py-12 xl:px-0",
|
|
8
|
+
children: /* @__PURE__ */ n("div", {
|
|
9
|
+
className: "mx-auto flex w-full max-w-300 flex-col gap-6",
|
|
10
|
+
children: [/* @__PURE__ */ t(e, {
|
|
11
|
+
title: r,
|
|
12
|
+
description: i,
|
|
13
|
+
align: "start",
|
|
14
|
+
titleClass: "font-sans text-large md:text-super-large font-bold"
|
|
15
|
+
}), /* @__PURE__ */ t("div", {
|
|
16
|
+
className: "grid grid-cols-1 gap-6 md:grid-cols-5 md:gap-4 lg:gap-10",
|
|
17
|
+
children: o.map((e) => /* @__PURE__ */ n("div", {
|
|
18
|
+
className: "flex flex-col gap-2.5",
|
|
19
|
+
children: [/* @__PURE__ */ n("div", {
|
|
20
|
+
className: "flex h-10 w-full items-center gap-2 rounded-lg border border-neutral-200 bg-neutral-50 p-2",
|
|
21
|
+
children: [/* @__PURE__ */ t("span", {
|
|
22
|
+
className: "flex h-6 w-6 shrink-0 items-center justify-center rounded",
|
|
23
|
+
children: e.icon
|
|
24
|
+
}), /* @__PURE__ */ t("p", {
|
|
25
|
+
className: "text-small min-w-0 font-bold break-words text-neutral-800",
|
|
26
|
+
children: e.label
|
|
27
|
+
})]
|
|
28
|
+
}), /* @__PURE__ */ t("div", {
|
|
29
|
+
className: "flex flex-col gap-2.5",
|
|
30
|
+
children: e.tools.map((e) => /* @__PURE__ */ t("a", {
|
|
31
|
+
href: e.href,
|
|
32
|
+
title: e.label,
|
|
33
|
+
className: "text-small hover:bg-neutral-25 flex min-h-10 w-full items-center rounded-lg border border-neutral-200 bg-white p-2 font-bold text-neutral-800 transition-colors",
|
|
34
|
+
children: /* @__PURE__ */ t("span", {
|
|
35
|
+
className: "break-words",
|
|
36
|
+
children: e.label
|
|
37
|
+
})
|
|
38
|
+
}, e.id))
|
|
39
|
+
})]
|
|
40
|
+
}, e.id))
|
|
41
|
+
})]
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { r as ExploreToolsSection };
|
|
@@ -20,10 +20,15 @@ export declare interface Hero2SectionProps {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export interface UploadZoneProps {
|
|
23
|
-
uploadPromptText
|
|
23
|
+
uploadPromptText?: string;
|
|
24
24
|
addDocumentLabel: string;
|
|
25
|
-
fileSizeText
|
|
26
|
-
disclaimer
|
|
25
|
+
fileSizeText?: string;
|
|
26
|
+
disclaimer?: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
trustLine?: string;
|
|
30
|
+
uploadIcon?: ReactNode;
|
|
31
|
+
variant?: 'default' | 'pdf-tools';
|
|
27
32
|
containerClassName?: string;
|
|
28
33
|
onAddDocument?: () => void;
|
|
29
34
|
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
@@ -49,7 +49,7 @@ export interface HeroSectionProps {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export interface HomeStepsProps {
|
|
52
|
-
image
|
|
52
|
+
image?: ReactNode;
|
|
53
53
|
header: SectionHeadingProps;
|
|
54
54
|
steps: {
|
|
55
55
|
id: string;
|
|
@@ -57,6 +57,7 @@ export interface HomeStepsProps {
|
|
|
57
57
|
description: string;
|
|
58
58
|
image: ReactNode;
|
|
59
59
|
}[];
|
|
60
|
+
variant?: 'default' | 'pdf-tools';
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
export declare const HomeTemplate: FC<HomeTemplateProps>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
3
|
+
//#region lib/components/icons/LockIcon.tsx
|
|
4
|
+
var n = (n) => /* @__PURE__ */ t("svg", {
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
fill: "none",
|
|
7
|
+
"aria-hidden": !0,
|
|
8
|
+
...n,
|
|
9
|
+
children: [
|
|
10
|
+
/* @__PURE__ */ e("rect", {
|
|
11
|
+
x: "4.75",
|
|
12
|
+
y: "10.25",
|
|
13
|
+
width: "14.5",
|
|
14
|
+
height: "10",
|
|
15
|
+
rx: "2",
|
|
16
|
+
stroke: "currentColor",
|
|
17
|
+
strokeWidth: "1.5"
|
|
18
|
+
}),
|
|
19
|
+
/* @__PURE__ */ e("path", {
|
|
20
|
+
d: "M8 10.25V7.5a4 4 0 0 1 8 0v2.75",
|
|
21
|
+
stroke: "currentColor",
|
|
22
|
+
strokeWidth: "1.5",
|
|
23
|
+
strokeLinecap: "round"
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ e("path", {
|
|
26
|
+
d: "M12 14v2.5",
|
|
27
|
+
stroke: "currentColor",
|
|
28
|
+
strokeWidth: "1.5",
|
|
29
|
+
strokeLinecap: "round"
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { n as LockIcon };
|
|
@@ -6,8 +6,8 @@ import { useCallback as n, useEffect as r, useRef as i, useState as a } from "re
|
|
|
6
6
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
7
|
//#region lib/components/atoms/NavMenuItem.tsx
|
|
8
8
|
var c = {
|
|
9
|
-
standard: "bg-secondary-200 h-4.5 w-5.25",
|
|
10
|
-
emphasized: "bg-[var(--tag-emphasized-bg,var(--primary-300))] h-4.5 px-1"
|
|
9
|
+
standard: "bg-secondary-200 h-4.5 min-w-5.25 px-1",
|
|
10
|
+
emphasized: "bg-[var(--tag-emphasized-bg,var(--primary-300))] h-4.5 min-w-5.25 px-1"
|
|
11
11
|
}, l = ({ tag: e, variant: t }) => /* @__PURE__ */ o("span", {
|
|
12
12
|
className: `text-extra-small flex h-4.5 items-center justify-center rounded align-middle font-bold ${c[t]}`,
|
|
13
13
|
children: e
|
|
@@ -33,7 +33,7 @@ var c = {
|
|
|
33
33
|
},
|
|
34
34
|
nested: {
|
|
35
35
|
liClass: "relative",
|
|
36
|
-
triggerClass: "p-1 hover:bg-primary-100 w-full rounded
|
|
36
|
+
triggerClass: "p-1 hover:bg-primary-100 w-full rounded",
|
|
37
37
|
dropdownPosition: "top-0 left-full -mt-4 pl-6",
|
|
38
38
|
Icon: t
|
|
39
39
|
}
|
|
@@ -81,7 +81,7 @@ var c = {
|
|
|
81
81
|
variant: r
|
|
82
82
|
})]
|
|
83
83
|
}), /* @__PURE__ */ o("div", {
|
|
84
|
-
className: `absolute z-50 min-w-
|
|
84
|
+
className: `absolute z-50 w-max min-w-40 transition-all duration-200 ${T.dropdownPosition} ${x ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"}`,
|
|
85
85
|
children: /* @__PURE__ */ o("div", {
|
|
86
86
|
className: "rounded-md border border-neutral-200 bg-white p-4 shadow-lg",
|
|
87
87
|
children: /* @__PURE__ */ o("ul", {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare interface PdfToolsBenefitItem {
|
|
5
|
+
id: string;
|
|
6
|
+
icon: ReactNode;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export declare const PdfToolsBenefitsSection: FC<PdfToolsBenefitsSectionProps>;
|
|
12
|
+
|
|
13
|
+
export declare interface PdfToolsBenefitsSectionProps {
|
|
14
|
+
items: PdfToolsBenefitItem[];
|
|
15
|
+
image?: ReactNode | null;
|
|
16
|
+
}
|
|
17
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import n from "clsx";
|
|
3
|
+
//#region lib/components/organisms/PdfToolsBenefitsSection.tsx
|
|
4
|
+
var r = ({ items: r, image: i }) => {
|
|
5
|
+
if (r.length === 0) return null;
|
|
6
|
+
let a = !!i;
|
|
7
|
+
return /* @__PURE__ */ e("section", {
|
|
8
|
+
className: "bg-white px-6 py-8 lg:px-8 lg:py-12 xl:px-0",
|
|
9
|
+
children: /* @__PURE__ */ t("div", {
|
|
10
|
+
className: n("mx-auto w-full max-w-300", a ? "grid grid-cols-1 gap-8 lg:grid-cols-2 lg:gap-20" : "flex flex-col"),
|
|
11
|
+
children: [/* @__PURE__ */ e("div", {
|
|
12
|
+
className: n(a ? "flex flex-col gap-8" : "grid grid-cols-1 gap-8", !a && r.length >= 4 && "md:grid-cols-4", !a && r.length < 4 && "md:grid-cols-3"),
|
|
13
|
+
children: r.map((n) => /* @__PURE__ */ t("div", {
|
|
14
|
+
className: "flex items-start gap-6",
|
|
15
|
+
children: [/* @__PURE__ */ e("div", {
|
|
16
|
+
className: "bg-primary-50 flex h-14 w-14 shrink-0 items-center justify-center rounded-2xl text-neutral-800",
|
|
17
|
+
children: n.icon
|
|
18
|
+
}), /* @__PURE__ */ t("div", {
|
|
19
|
+
className: "flex flex-col gap-2",
|
|
20
|
+
children: [/* @__PURE__ */ e("p", {
|
|
21
|
+
className: "text-big font-bold text-neutral-800",
|
|
22
|
+
children: n.title
|
|
23
|
+
}), /* @__PURE__ */ e("p", {
|
|
24
|
+
className: "text-small text-neutral-600",
|
|
25
|
+
children: n.description
|
|
26
|
+
})]
|
|
27
|
+
})]
|
|
28
|
+
}, n.id))
|
|
29
|
+
}), a && /* @__PURE__ */ e("div", {
|
|
30
|
+
className: "h-53.5 overflow-hidden rounded-2xl md:hidden lg:block lg:h-full [&_img]:h-full [&_img]:w-full [&_img]:object-cover",
|
|
31
|
+
children: i
|
|
32
|
+
})]
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
export { r as PdfToolsBenefitsSection };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const PdfToolsHero: FC<PdfToolsHeroProps>;
|
|
5
|
+
|
|
6
|
+
export declare type PdfToolsHeroBadge = {
|
|
7
|
+
id: string;
|
|
8
|
+
icon: ReactNode;
|
|
9
|
+
text: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export declare interface PdfToolsHeroProps {
|
|
13
|
+
title: string;
|
|
14
|
+
titleRich?: ReactNode;
|
|
15
|
+
subtitle: string;
|
|
16
|
+
uploadZone: Omit<UploadZoneProps, 'variant'>;
|
|
17
|
+
badges: PdfToolsHeroBadge[];
|
|
18
|
+
trustPilot?: ReactNode;
|
|
19
|
+
bgLeft?: ReactNode | null;
|
|
20
|
+
bgRight?: ReactNode | null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface UploadZoneProps {
|
|
24
|
+
uploadPromptText?: string;
|
|
25
|
+
addDocumentLabel: string;
|
|
26
|
+
fileSizeText?: string;
|
|
27
|
+
disclaimer?: string;
|
|
28
|
+
title?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
trustLine?: string;
|
|
31
|
+
uploadIcon?: ReactNode;
|
|
32
|
+
variant?: 'default' | 'pdf-tools';
|
|
33
|
+
containerClassName?: string;
|
|
34
|
+
onAddDocument?: () => void;
|
|
35
|
+
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
36
|
+
dataQa?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Markdown as e } from "./Markdown.js";
|
|
2
|
+
import { UploadZone as t } from "./UploadZone.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import i from "clsx";
|
|
5
|
+
//#region lib/components/organisms/PdfToolsHero.tsx
|
|
6
|
+
var a = ({ title: a, titleRich: o, subtitle: s, uploadZone: c, badges: l, trustPilot: u, bgLeft: d, bgRight: f }) => {
|
|
7
|
+
let p = !!u || l.length > 0;
|
|
8
|
+
return /* @__PURE__ */ r("section", {
|
|
9
|
+
className: i("relative flex flex-col items-center gap-6 bg-neutral-50 px-4 pt-8 md:px-6 lg:px-8 lg:pt-16 xl:px-0", p ? "pb-6 lg:pb-8" : "pb-10 lg:pb-16"),
|
|
10
|
+
children: [
|
|
11
|
+
!!d && /* @__PURE__ */ n("div", {
|
|
12
|
+
className: "pointer-events-none absolute top-0 -left-25 hidden lg:block xl:left-0",
|
|
13
|
+
children: d
|
|
14
|
+
}),
|
|
15
|
+
!!f && /* @__PURE__ */ n("div", {
|
|
16
|
+
className: "pointer-events-none absolute -right-15 bottom-0 hidden lg:block xl:right-5",
|
|
17
|
+
children: f
|
|
18
|
+
}),
|
|
19
|
+
/* @__PURE__ */ r("div", {
|
|
20
|
+
className: "flex max-w-300 flex-col items-center gap-3",
|
|
21
|
+
children: [/* @__PURE__ */ n("h1", {
|
|
22
|
+
className: "text-super-large md:text-hero text-center font-bold text-neutral-800",
|
|
23
|
+
children: o ?? a
|
|
24
|
+
}), /* @__PURE__ */ n(e, {
|
|
25
|
+
content: s,
|
|
26
|
+
className: "text-small md:text-medium text-center text-neutral-600 [&_p:last-child]:mb-0"
|
|
27
|
+
})]
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ n("div", {
|
|
30
|
+
className: "relative mx-auto w-full max-w-300",
|
|
31
|
+
children: /* @__PURE__ */ n(t, {
|
|
32
|
+
...c,
|
|
33
|
+
variant: "pdf-tools"
|
|
34
|
+
})
|
|
35
|
+
}),
|
|
36
|
+
p && /* @__PURE__ */ r("div", {
|
|
37
|
+
className: i("mx-auto flex w-full max-w-300 flex-col items-center gap-3", u && l.length > 0 ? "lg:flex-row lg:justify-between" : "justify-center"),
|
|
38
|
+
children: [!!u && u, l.length > 0 && /* @__PURE__ */ n("div", {
|
|
39
|
+
className: "flex flex-wrap items-center justify-center gap-x-3 gap-y-2 md:gap-x-6",
|
|
40
|
+
children: l.map((e) => /* @__PURE__ */ r("div", {
|
|
41
|
+
className: "flex items-center gap-1",
|
|
42
|
+
children: [e.icon, /* @__PURE__ */ n("p", {
|
|
43
|
+
className: "text-extra-small md:text-small text-neutral-800",
|
|
44
|
+
children: e.text
|
|
45
|
+
})]
|
|
46
|
+
}, e.id))
|
|
47
|
+
})]
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { a as PdfToolsHero };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export interface ExploreToolsGroup {
|
|
5
|
+
id: string;
|
|
6
|
+
icon: ReactNode;
|
|
7
|
+
label: string;
|
|
8
|
+
tools: ExploreToolsTool[];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ExploreToolsSectionProps {
|
|
12
|
+
title: string;
|
|
13
|
+
description: string;
|
|
14
|
+
groups: ExploreToolsGroup[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface ExploreToolsTool {
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
href: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface FaqItemProps {
|
|
24
|
+
question: string;
|
|
25
|
+
answer: string;
|
|
26
|
+
showMoreText?: string;
|
|
27
|
+
collapsedButtonText?: string;
|
|
28
|
+
expandedButtonText?: string;
|
|
29
|
+
variant?: 'default' | 'legal' | 'tooltip' | 'about-us' | 'pricing';
|
|
30
|
+
slug: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface FaqSectionProps {
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
faqItems: FaqItemProps[];
|
|
37
|
+
className?: string;
|
|
38
|
+
variant?: 'default' | 'legal' | 'tooltip' | 'about-us' | 'pricing';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface HomeStepsProps {
|
|
42
|
+
image?: ReactNode;
|
|
43
|
+
header: SectionHeadingProps;
|
|
44
|
+
steps: {
|
|
45
|
+
id: string;
|
|
46
|
+
title: string;
|
|
47
|
+
description: string;
|
|
48
|
+
image: ReactNode;
|
|
49
|
+
}[];
|
|
50
|
+
variant?: 'default' | 'pdf-tools';
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface PdfToolsBenefitItem {
|
|
54
|
+
id: string;
|
|
55
|
+
icon: ReactNode;
|
|
56
|
+
title: string;
|
|
57
|
+
description: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface PdfToolsBenefitsSectionProps {
|
|
61
|
+
items: PdfToolsBenefitItem[];
|
|
62
|
+
image?: ReactNode | null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type PdfToolsHeroBadge = {
|
|
66
|
+
id: string;
|
|
67
|
+
icon: ReactNode;
|
|
68
|
+
text: string;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export interface PdfToolsHeroProps {
|
|
72
|
+
title: string;
|
|
73
|
+
titleRich?: ReactNode;
|
|
74
|
+
subtitle: string;
|
|
75
|
+
uploadZone: Omit<UploadZoneProps, 'variant'>;
|
|
76
|
+
badges: PdfToolsHeroBadge[];
|
|
77
|
+
trustPilot?: ReactNode;
|
|
78
|
+
bgLeft?: ReactNode | null;
|
|
79
|
+
bgRight?: ReactNode | null;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export declare const PdfToolsTemplate: FC<PdfToolsTemplateProps>;
|
|
83
|
+
|
|
84
|
+
export declare type PdfToolsTemplateProps = {
|
|
85
|
+
hero: PdfToolsHeroProps;
|
|
86
|
+
howItWorks: Omit<HomeStepsProps, 'variant' | 'image'>;
|
|
87
|
+
benefits: PdfToolsBenefitsSectionProps;
|
|
88
|
+
exploreTools?: ExploreToolsSectionProps | null;
|
|
89
|
+
faq?: FaqSectionProps | null;
|
|
90
|
+
faqNote?: ReactNode | null;
|
|
91
|
+
toast?: ToastProps;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export interface SectionHeadingProps {
|
|
95
|
+
title: string;
|
|
96
|
+
description?: string;
|
|
97
|
+
align?: 'start' | 'center';
|
|
98
|
+
titleClass?: string;
|
|
99
|
+
className?: string;
|
|
100
|
+
hasMaxWidth?: boolean;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface ToastProps {
|
|
104
|
+
show: boolean;
|
|
105
|
+
title: string;
|
|
106
|
+
message: string;
|
|
107
|
+
type?: 'success' | 'error' | 'default';
|
|
108
|
+
onClose: () => void;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface UploadZoneProps {
|
|
112
|
+
uploadPromptText?: string;
|
|
113
|
+
addDocumentLabel: string;
|
|
114
|
+
fileSizeText?: string;
|
|
115
|
+
disclaimer?: string;
|
|
116
|
+
title?: string;
|
|
117
|
+
description?: string;
|
|
118
|
+
trustLine?: string;
|
|
119
|
+
uploadIcon?: ReactNode;
|
|
120
|
+
variant?: 'default' | 'pdf-tools';
|
|
121
|
+
containerClassName?: string;
|
|
122
|
+
onAddDocument?: () => void;
|
|
123
|
+
onDropDocument?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
124
|
+
dataQa?: string;
|
|
125
|
+
}
|
|
126
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SecurityIcon as e } from "./SecurityIcon.js";
|
|
2
|
+
import { Toast as t } from "./Toast.js";
|
|
3
|
+
import { FaqSection as n } from "./FaqSection.js";
|
|
4
|
+
import { ProcessSection as r } from "./ProcessSection.js";
|
|
5
|
+
import { PdfToolsHero as i } from "./PdfToolsHero.js";
|
|
6
|
+
import { PdfToolsBenefitsSection as a } from "./PdfToolsBenefitsSection.js";
|
|
7
|
+
import { ExploreToolsSection as o } from "./ExploreToolsSection.js";
|
|
8
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
9
|
+
import l from "clsx";
|
|
10
|
+
//#region lib/components/templates/PdfToolsTemplate.tsx
|
|
11
|
+
var u = ({ hero: u, howItWorks: d, benefits: f, exploreTools: p, faq: m, faqNote: h, toast: g }) => {
|
|
12
|
+
let _ = !!h;
|
|
13
|
+
return /* @__PURE__ */ c("main", {
|
|
14
|
+
className: "w-full flex-1 bg-white",
|
|
15
|
+
"data-qa": "pdf_tools_page",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ s(i, { ...u }),
|
|
18
|
+
/* @__PURE__ */ s(r, {
|
|
19
|
+
...d,
|
|
20
|
+
variant: "pdf-tools",
|
|
21
|
+
header: {
|
|
22
|
+
...d.header,
|
|
23
|
+
titleClass: "font-sans text-super-large font-bold"
|
|
24
|
+
}
|
|
25
|
+
}),
|
|
26
|
+
/* @__PURE__ */ s(a, { ...f }),
|
|
27
|
+
p ? /* @__PURE__ */ s(o, { ...p }) : null,
|
|
28
|
+
(!!m || _) && /* @__PURE__ */ c("div", {
|
|
29
|
+
className: "bg-neutral-50",
|
|
30
|
+
children: [m ? /* @__PURE__ */ s(n, {
|
|
31
|
+
...m,
|
|
32
|
+
className: l("mx-auto max-w-300 px-6 pt-8 lg:px-8 lg:pt-10 xl:px-0", _ ? "pb-4" : "pb-12 lg:pb-20")
|
|
33
|
+
}) : null, _ && /* @__PURE__ */ c("div", {
|
|
34
|
+
className: "text-extra-small mx-auto flex max-w-300 items-start gap-2 px-6 pb-12 text-neutral-900 md:items-center lg:px-8 lg:pb-20 xl:px-0 [&_p]:mb-0",
|
|
35
|
+
children: [/* @__PURE__ */ s(e, {
|
|
36
|
+
className: "h-6 w-6 shrink-0",
|
|
37
|
+
fill: "var(--color-neutral-600)"
|
|
38
|
+
}), /* @__PURE__ */ s("div", {
|
|
39
|
+
className: "flex-1",
|
|
40
|
+
children: h
|
|
41
|
+
})]
|
|
42
|
+
})]
|
|
43
|
+
}),
|
|
44
|
+
g && /* @__PURE__ */ s(t, { ...g })
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { u as PdfToolsTemplate };
|
|
@@ -2,7 +2,7 @@ import { FC } from 'react';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
export declare interface HomeStepsProps {
|
|
5
|
-
image
|
|
5
|
+
image?: ReactNode;
|
|
6
6
|
header: SectionHeadingProps;
|
|
7
7
|
steps: {
|
|
8
8
|
id: string;
|
|
@@ -10,6 +10,7 @@ export declare interface HomeStepsProps {
|
|
|
10
10
|
description: string;
|
|
11
11
|
image: ReactNode;
|
|
12
12
|
}[];
|
|
13
|
+
variant?: 'default' | 'pdf-tools';
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export declare const ProcessSection: FC<HomeStepsProps>;
|
|
@@ -1,34 +1,43 @@
|
|
|
1
1
|
import { SectionHeading as e } from "./SectionHeading.js";
|
|
2
2
|
import "react";
|
|
3
3
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
|
+
import r from "clsx";
|
|
4
5
|
//#region lib/components/organisms/ProcessSection.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
6
|
+
var i = ({ image: i, header: a, steps: o, variant: s = "default" }) => {
|
|
7
|
+
if (o.length === 0) return null;
|
|
8
|
+
let c = s === "pdf-tools";
|
|
9
|
+
return /* @__PURE__ */ n("section", {
|
|
10
|
+
className: r("relative mx-auto px-6 lg:px-8 xl:px-0", c ? "bg-white py-8 lg:py-10" : "bg-neutral-50 py-10 lg:py-12"),
|
|
11
|
+
children: [!c && /* @__PURE__ */ t("div", {
|
|
12
|
+
className: "pointer-events-none absolute top-0 right-0 hidden lg:block",
|
|
13
|
+
children: i
|
|
14
|
+
}), /* @__PURE__ */ n("div", {
|
|
15
|
+
className: r("relative mx-auto flex flex-col gap-6", c ? "max-w-300" : "xl:max-w-250"),
|
|
16
|
+
children: [/* @__PURE__ */ t(e, {
|
|
17
|
+
...a,
|
|
18
|
+
titleClass: "font-sans text-super-large font-bold",
|
|
19
|
+
align: c ? "start" : a.align
|
|
20
|
+
}), /* @__PURE__ */ t("div", {
|
|
21
|
+
className: "grid grid-cols-1 gap-4 md:grid-cols-3 lg:gap-8",
|
|
22
|
+
children: o.map((e) => /* @__PURE__ */ n("div", {
|
|
23
|
+
className: c ? "flex flex-col overflow-hidden rounded-2xl bg-white shadow-[0px_2px_6px_0px_rgba(2,55,74,0.1)]" : "flex items-center gap-6 rounded-sm bg-white p-6 shadow-lg md:flex-col md:justify-center md:gap-10 md:py-10",
|
|
24
|
+
children: [/* @__PURE__ */ t("div", {
|
|
25
|
+
className: r("overflow-hidden", c ? "bg-primary-50 flex h-53.5 w-full items-center justify-center p-4 [&_img]:h-auto [&_img]:max-h-full [&_img]:w-auto [&_img]:max-w-full [&_img]:object-contain" : "h-22 w-22 shrink-0 md:h-30 md:w-30 [&_img]:h-full [&_img]:w-full [&_img]:object-cover"),
|
|
26
|
+
children: e.image
|
|
27
|
+
}), /* @__PURE__ */ n("div", {
|
|
28
|
+
className: r("flex flex-col", c ? "gap-4 border-t border-neutral-200 p-6" : "gap-2 md:text-center"),
|
|
29
|
+
children: [/* @__PURE__ */ t("p", {
|
|
30
|
+
className: "text-big font-semibold text-neutral-800",
|
|
31
|
+
children: e.title
|
|
32
|
+
}), /* @__PURE__ */ t("p", {
|
|
33
|
+
className: r(c ? "text-medium text-neutral-600" : "text-small text-neutral-600"),
|
|
34
|
+
children: e.description
|
|
35
|
+
})]
|
|
27
36
|
})]
|
|
28
|
-
})
|
|
29
|
-
}
|
|
37
|
+
}, e.id))
|
|
38
|
+
})]
|
|
30
39
|
})]
|
|
31
|
-
})
|
|
32
|
-
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
33
42
|
//#endregion
|
|
34
|
-
export {
|
|
43
|
+
export { i as ProcessSection };
|