@npm_leadtech/legal-contracts-ui 0.188.3 → 0.188.5
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/ContactBanner.d.ts +1 -0
- package/dist/components/ContactBanner.js +20 -20
- 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/Header.d.ts +0 -5
- package/dist/components/Header.js +4 -4
- 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/NavMenu.d.ts +0 -5
- package/dist/components/NavMenuItem.d.ts +0 -5
- package/dist/components/NavMenuItem.js +53 -65
- 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/PreformMobile.js +3 -1
- 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 +69 -9
- package/dist/index.js +105 -100
- package/package.json +50 -24
|
@@ -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;
|
|
@@ -7,6 +7,7 @@ export declare interface ContactBannerProps {
|
|
|
7
7
|
phoneNumber?: string;
|
|
8
8
|
contactHoursText?: string;
|
|
9
9
|
contactHours?: string;
|
|
10
|
+
/** @deprecated No longer used: the banner keeps a fixed height and scrolls away with the page to avoid layout shifts. */
|
|
10
11
|
isScrolled?: boolean;
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { SinglePhoneIcon as e } from "./SinglePhoneIcon.js";
|
|
2
|
-
import { useScroll as t } from "../shared/hooks/useScroll.js";
|
|
3
2
|
import "react";
|
|
4
|
-
import { jsx as
|
|
3
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
5
4
|
//#region lib/components/organisms/ContactBanner.tsx
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
var r = ({ contactText: r, phoneNumber: i, contactHoursText: a, contactHours: o }) => /* @__PURE__ */ t("section", {
|
|
6
|
+
"data-qa": "contact_banner",
|
|
7
|
+
className: "flex h-8.75 w-full justify-center border-b border-neutral-200 bg-neutral-50 px-4 py-2",
|
|
8
|
+
children: /* @__PURE__ */ n("div", {
|
|
9
9
|
className: "flex flex-wrap items-center justify-center gap-4 text-center text-neutral-900 md:text-left",
|
|
10
10
|
children: [
|
|
11
|
-
|
|
11
|
+
r && /* @__PURE__ */ t("p", {
|
|
12
12
|
className: "text-small hidden sm:block",
|
|
13
|
-
children:
|
|
13
|
+
children: r
|
|
14
14
|
}),
|
|
15
|
-
/* @__PURE__ */
|
|
15
|
+
/* @__PURE__ */ t("div", {
|
|
16
16
|
className: "h-5 w-5",
|
|
17
|
-
children: /* @__PURE__ */
|
|
17
|
+
children: /* @__PURE__ */ t(e, {})
|
|
18
18
|
}),
|
|
19
|
-
|
|
20
|
-
href: `tel:${
|
|
19
|
+
i && /* @__PURE__ */ t("a", {
|
|
20
|
+
href: `tel:${i}`,
|
|
21
21
|
className: "text-small block font-bold sm:hidden",
|
|
22
|
-
children:
|
|
22
|
+
children: i
|
|
23
23
|
}),
|
|
24
|
-
|
|
24
|
+
i && /* @__PURE__ */ t("p", {
|
|
25
25
|
className: "text-small hidden font-bold sm:block",
|
|
26
|
-
children:
|
|
26
|
+
children: i
|
|
27
27
|
}),
|
|
28
|
-
/* @__PURE__ */
|
|
28
|
+
/* @__PURE__ */ n("div", {
|
|
29
29
|
className: "text-small flex items-center gap-1",
|
|
30
|
-
children: [
|
|
30
|
+
children: [a && /* @__PURE__ */ t("span", {
|
|
31
31
|
className: "hidden sm:block",
|
|
32
|
-
children:
|
|
33
|
-
}),
|
|
32
|
+
children: a
|
|
33
|
+
}), o && /* @__PURE__ */ t("span", {
|
|
34
34
|
className: "sm:hidden",
|
|
35
|
-
children:
|
|
35
|
+
children: o
|
|
36
36
|
})]
|
|
37
37
|
})
|
|
38
38
|
]
|
|
39
39
|
})
|
|
40
40
|
});
|
|
41
41
|
//#endregion
|
|
42
|
-
export {
|
|
42
|
+
export { r as ContactBanner };
|
|
@@ -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 };
|
|
@@ -70,8 +70,6 @@ export type NavMenuItemProps = {
|
|
|
70
70
|
dropdownItems: (NavMenuItemProps | NavMenuLink)[];
|
|
71
71
|
hasDropdown: true;
|
|
72
72
|
isNested?: boolean;
|
|
73
|
-
tag?: string;
|
|
74
|
-
tagVariant?: NavMenuTagVariant;
|
|
75
73
|
onItemClick?: () => void;
|
|
76
74
|
isOpen?: boolean;
|
|
77
75
|
onToggle?: (open: boolean) => void;
|
|
@@ -81,7 +79,6 @@ export type NavMenuLink = {
|
|
|
81
79
|
id: string;
|
|
82
80
|
link: ReactNode;
|
|
83
81
|
tag?: string;
|
|
84
|
-
tagVariant?: NavMenuTagVariant;
|
|
85
82
|
hasDropdown: false;
|
|
86
83
|
isNested?: boolean;
|
|
87
84
|
bold?: boolean;
|
|
@@ -96,8 +93,6 @@ export interface NavMenuProps {
|
|
|
96
93
|
className?: string;
|
|
97
94
|
}
|
|
98
95
|
|
|
99
|
-
export type NavMenuTagVariant = 'standard' | 'emphasized';
|
|
100
|
-
|
|
101
96
|
export interface SearchBarProps {
|
|
102
97
|
items: SearchItem[];
|
|
103
98
|
placeholder?: string;
|
|
@@ -2,15 +2,15 @@ import { ScalatorIcon as e } from "./ScalatorIcon.js";
|
|
|
2
2
|
import { LanguageSelector as t } from "./LanguageSelector.js";
|
|
3
3
|
import { NavMenu as n } from "./NavMenu.js";
|
|
4
4
|
import { SearchBar as r } from "./SearchBar.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { MobileMenu as i } from "./MobileMenu.js";
|
|
6
|
+
import { useScroll as a } from "../shared/hooks/useScroll.js";
|
|
7
7
|
import "react";
|
|
8
8
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
9
9
|
//#region lib/components/organisms/Header.tsx
|
|
10
10
|
var c = ({ logo: c, navMenu: l, searchBarProps: u, languageSelectorProps: d, userActions: f, mobileMenu: p }) => /* @__PURE__ */ s("div", {
|
|
11
11
|
className: "sticky top-0 z-1000 flex w-full flex-col",
|
|
12
12
|
children: [/* @__PURE__ */ o("header", {
|
|
13
|
-
className: `transition-colors duration-300 ease-in-out ${
|
|
13
|
+
className: `transition-colors duration-300 ease-in-out ${a(10) ? "bg-white shadow-md" : "bg-primary-50"}`,
|
|
14
14
|
children: /* @__PURE__ */ s("div", {
|
|
15
15
|
className: "flex w-full items-center justify-between px-4 py-4 text-neutral-800 md:px-8",
|
|
16
16
|
children: [
|
|
@@ -42,7 +42,7 @@ var c = ({ logo: c, navMenu: l, searchBarProps: u, languageSelectorProps: d, use
|
|
|
42
42
|
})
|
|
43
43
|
]
|
|
44
44
|
})
|
|
45
|
-
}), /* @__PURE__ */ o(
|
|
45
|
+
}), /* @__PURE__ */ o(i, {
|
|
46
46
|
...p,
|
|
47
47
|
logo: c,
|
|
48
48
|
userActions: f,
|
|
@@ -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 };
|
|
@@ -10,8 +10,6 @@ export type NavMenuItemProps = {
|
|
|
10
10
|
dropdownItems: (NavMenuItemProps | NavMenuLink)[];
|
|
11
11
|
hasDropdown: true;
|
|
12
12
|
isNested?: boolean;
|
|
13
|
-
tag?: string;
|
|
14
|
-
tagVariant?: NavMenuTagVariant;
|
|
15
13
|
onItemClick?: () => void;
|
|
16
14
|
isOpen?: boolean;
|
|
17
15
|
onToggle?: (open: boolean) => void;
|
|
@@ -21,7 +19,6 @@ export type NavMenuLink = {
|
|
|
21
19
|
id: string;
|
|
22
20
|
link: ReactNode;
|
|
23
21
|
tag?: string;
|
|
24
|
-
tagVariant?: NavMenuTagVariant;
|
|
25
22
|
hasDropdown: false;
|
|
26
23
|
isNested?: boolean;
|
|
27
24
|
bold?: boolean;
|
|
@@ -35,6 +32,4 @@ export declare interface NavMenuProps {
|
|
|
35
32
|
navItems: (NavMenuItemProps | NavMenuLink)[];
|
|
36
33
|
className?: string;
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
export type NavMenuTagVariant = 'standard' | 'emphasized';
|
|
40
35
|
|
|
@@ -10,8 +10,6 @@ export declare type NavMenuItemProps = {
|
|
|
10
10
|
dropdownItems: (NavMenuItemProps | NavMenuLink)[];
|
|
11
11
|
hasDropdown: true;
|
|
12
12
|
isNested?: boolean;
|
|
13
|
-
tag?: string;
|
|
14
|
-
tagVariant?: NavMenuTagVariant;
|
|
15
13
|
onItemClick?: () => void;
|
|
16
14
|
isOpen?: boolean;
|
|
17
15
|
onToggle?: (open: boolean) => void;
|
|
@@ -21,7 +19,6 @@ export declare type NavMenuLink = {
|
|
|
21
19
|
id: string;
|
|
22
20
|
link: ReactNode;
|
|
23
21
|
tag?: string;
|
|
24
|
-
tagVariant?: NavMenuTagVariant;
|
|
25
22
|
hasDropdown: false;
|
|
26
23
|
isNested?: boolean;
|
|
27
24
|
bold?: boolean;
|
|
@@ -30,6 +27,4 @@ export declare type NavMenuLink = {
|
|
|
30
27
|
onToggle?: (open: boolean) => void;
|
|
31
28
|
dataQa?: string;
|
|
32
29
|
};
|
|
33
|
-
|
|
34
|
-
export declare type NavMenuTagVariant = 'standard' | 'emphasized';
|
|
35
30
|
|
|
@@ -5,26 +5,20 @@ import { ChevronRightIcon as t } from "./ChevronRightIcon.js";
|
|
|
5
5
|
import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
|
|
6
6
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
7
|
//#region lib/components/atoms/NavMenuItem.tsx
|
|
8
|
-
var c = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
className: `text-extra-small flex h-4.5 items-center justify-center rounded align-middle font-bold ${c[t]}`,
|
|
13
|
-
children: e
|
|
14
|
-
}), u = (c) => {
|
|
15
|
-
let { hasDropdown: d, isNested: f, isOpen: p, onToggle: m, dataQa: h, onItemClick: g } = c, [_, v] = a(!1), [y, b] = a(null), x = p ?? _, S = n((e) => {
|
|
16
|
-
e || b(null), m ? m(e) : v(e);
|
|
17
|
-
}, [m]), C = i(null);
|
|
8
|
+
var c = (l) => {
|
|
9
|
+
let { hasDropdown: u, isNested: d, isOpen: f, onToggle: p, dataQa: m, onItemClick: h } = l, [g, _] = a(!1), [v, y] = a(null), b = f ?? g, x = n((e) => {
|
|
10
|
+
e || y(null), p ? p(e) : _(e);
|
|
11
|
+
}, [p]), S = i(null);
|
|
18
12
|
r(() => {
|
|
19
|
-
if (!
|
|
13
|
+
if (!b) return;
|
|
20
14
|
let e = (e) => {
|
|
21
|
-
|
|
15
|
+
S.current && !S.current.contains(e.target) && x(!1);
|
|
22
16
|
};
|
|
23
17
|
return document.addEventListener("mousedown", e), () => {
|
|
24
18
|
document.removeEventListener("mousedown", e);
|
|
25
19
|
};
|
|
26
|
-
}, [
|
|
27
|
-
let
|
|
20
|
+
}, [b, x]);
|
|
21
|
+
let C = {
|
|
28
22
|
topLevel: {
|
|
29
23
|
liClass: "relative py-2",
|
|
30
24
|
triggerClass: "hover:text-neutral-600",
|
|
@@ -37,62 +31,56 @@ var c = {
|
|
|
37
31
|
dropdownPosition: "top-0 left-full -mt-4 pl-6",
|
|
38
32
|
Icon: t
|
|
39
33
|
}
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
}, [
|
|
34
|
+
}, w = d ? C.nested : C.topLevel, T = w.Icon, E = n(() => {
|
|
35
|
+
x(!1), h && h();
|
|
36
|
+
}, [h, x]), D = i(null);
|
|
43
37
|
r(() => {
|
|
44
|
-
let e =
|
|
45
|
-
if (e) return e.addEventListener("click",
|
|
46
|
-
e.removeEventListener("click",
|
|
38
|
+
let e = D.current;
|
|
39
|
+
if (e) return e.addEventListener("click", E), () => {
|
|
40
|
+
e.removeEventListener("click", E);
|
|
47
41
|
};
|
|
48
|
-
}, [
|
|
49
|
-
let
|
|
50
|
-
e.stopPropagation(),
|
|
42
|
+
}, [E]);
|
|
43
|
+
let O = (e) => {
|
|
44
|
+
e.stopPropagation(), x(!b);
|
|
45
|
+
}, k = () => {
|
|
46
|
+
globalThis.window.matchMedia("(hover: hover)").matches && x(!0);
|
|
51
47
|
}, A = () => {
|
|
52
|
-
globalThis.window.matchMedia("(hover: hover)").matches &&
|
|
53
|
-
}, j = () => {
|
|
54
|
-
globalThis.window.matchMedia("(hover: hover)").matches && S(!1);
|
|
48
|
+
globalThis.window.matchMedia("(hover: hover)").matches && x(!1);
|
|
55
49
|
};
|
|
56
|
-
if (
|
|
57
|
-
let { dropdownItems: e, label: t
|
|
50
|
+
if (u) {
|
|
51
|
+
let { dropdownItems: e, label: t } = l;
|
|
58
52
|
return /* @__PURE__ */ s("li", {
|
|
59
|
-
ref:
|
|
60
|
-
className:
|
|
61
|
-
onMouseEnter:
|
|
62
|
-
onMouseLeave:
|
|
63
|
-
children: [/* @__PURE__ */ s("
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
children:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
width: 20,
|
|
77
|
-
height: 20
|
|
78
|
-
})]
|
|
79
|
-
}), n && /* @__PURE__ */ o(l, {
|
|
80
|
-
tag: n,
|
|
81
|
-
variant: r
|
|
53
|
+
ref: S,
|
|
54
|
+
className: w.liClass,
|
|
55
|
+
onMouseEnter: k,
|
|
56
|
+
onMouseLeave: A,
|
|
57
|
+
children: [/* @__PURE__ */ s("button", {
|
|
58
|
+
"data-qa": m,
|
|
59
|
+
className: `text-small flex w-full cursor-pointer items-center justify-between gap-1 text-nowrap text-neutral-800 transition-colors ${w.triggerClass}`,
|
|
60
|
+
"aria-haspopup": "menu",
|
|
61
|
+
"aria-expanded": b,
|
|
62
|
+
onClick: O,
|
|
63
|
+
children: [/* @__PURE__ */ o("span", {
|
|
64
|
+
className: "text-medium",
|
|
65
|
+
children: t
|
|
66
|
+
}), /* @__PURE__ */ o(T, {
|
|
67
|
+
fill: "#000",
|
|
68
|
+
width: 20,
|
|
69
|
+
height: 20
|
|
82
70
|
})]
|
|
83
71
|
}), /* @__PURE__ */ o("div", {
|
|
84
|
-
className: `absolute z-50 min-w-48 transition-all duration-200 ${
|
|
72
|
+
className: `absolute z-50 min-w-48 transition-all duration-200 ${w.dropdownPosition} ${b ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"}`,
|
|
85
73
|
children: /* @__PURE__ */ o("div", {
|
|
86
74
|
className: "rounded-md border border-neutral-200 bg-white p-4 shadow-lg",
|
|
87
75
|
children: /* @__PURE__ */ o("ul", {
|
|
88
76
|
className: "flex flex-col gap-2",
|
|
89
|
-
children: e.map((e) => /* @__PURE__ */ o(
|
|
77
|
+
children: e.map((e) => /* @__PURE__ */ o(c, {
|
|
90
78
|
...e,
|
|
91
79
|
isNested: !0,
|
|
92
|
-
onItemClick:
|
|
93
|
-
isOpen:
|
|
80
|
+
onItemClick: E,
|
|
81
|
+
isOpen: v === e.id,
|
|
94
82
|
onToggle: (t) => {
|
|
95
|
-
|
|
83
|
+
y(t ? e.id : null);
|
|
96
84
|
}
|
|
97
85
|
}, e.id))
|
|
98
86
|
})
|
|
@@ -100,21 +88,21 @@ var c = {
|
|
|
100
88
|
})]
|
|
101
89
|
});
|
|
102
90
|
}
|
|
103
|
-
let { link:
|
|
91
|
+
let { link: j, tag: M, bold: N } = l;
|
|
104
92
|
return /* @__PURE__ */ o("li", {
|
|
105
|
-
ref:
|
|
106
|
-
className:
|
|
93
|
+
ref: D,
|
|
94
|
+
className: w.liClass,
|
|
107
95
|
children: /* @__PURE__ */ s("span", {
|
|
108
|
-
className: `text-small relative flex w-full items-center gap-1 text-nowrap text-neutral-800 transition-colors ${
|
|
96
|
+
className: `text-small relative flex w-full items-center gap-1 text-nowrap text-neutral-800 transition-colors ${w.triggerClass} `,
|
|
109
97
|
children: [/* @__PURE__ */ o("span", {
|
|
110
|
-
className: `text-medium flex-1 ${
|
|
98
|
+
className: `text-medium flex-1 ${N ? "font-bold" : ""} [&_a]:after:absolute [&_a]:after:inset-0`,
|
|
99
|
+
children: j
|
|
100
|
+
}), M && /* @__PURE__ */ o("span", {
|
|
101
|
+
className: "bg-secondary-200 text-extra-small flex h-4.5 w-5.25 items-center justify-center rounded align-middle font-bold",
|
|
111
102
|
children: M
|
|
112
|
-
}), N && /* @__PURE__ */ o(l, {
|
|
113
|
-
tag: N,
|
|
114
|
-
variant: P
|
|
115
103
|
})]
|
|
116
104
|
})
|
|
117
105
|
});
|
|
118
106
|
};
|
|
119
107
|
//#endregion
|
|
120
|
-
export {
|
|
108
|
+
export { c as NavMenuItem };
|
|
@@ -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
|
+
|