@npm_leadtech/legal-contracts-ui 0.176.3 → 0.176.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/Checkbox.js +3 -3
- package/dist/components/Input.js +8 -11
- package/dist/components/JumboDocs.d.ts +5 -1
- package/dist/components/JumboDocs.js +33 -32
- package/dist/components/LeadGateError.d.ts +11 -0
- package/dist/components/LeadGateError.js +41 -0
- package/dist/components/LeadGateModal.d.ts +29 -0
- package/dist/components/LeadGateModal.js +87 -0
- package/dist/components/LeadGateSuccess.d.ts +20 -0
- package/dist/components/LeadGateSuccess.js +45 -0
- package/dist/components/LeadGateSuccessFeatureItem.d.ts +11 -0
- package/dist/components/LeadGateSuccessFeatureItem.js +20 -0
- package/dist/components/Preform.d.ts +5 -1
- package/dist/components/Preform.js +35 -34
- package/dist/components/PreformMobile.d.ts +5 -1
- package/dist/components/PreformMobile.js +60 -59
- package/dist/components/ProductSemTemplate.d.ts +5 -1
- package/dist/components/ProductTemplate.d.ts +6 -2
- package/dist/components/Select.js +8 -11
- package/dist/components/Textarea.js +8 -11
- package/dist/components/index.d.ts +57 -13
- package/dist/index.js +138 -136
- package/package.json +46 -30
- package/dist/components/TrustpilotBadge.d.ts +0 -11
- package/dist/components/TrustpilotBadge.js +0 -74
- package/dist/components/TrustpilotWordmarkIcon.d.ts +0 -4
- package/dist/components/TrustpilotWordmarkIcon.js +0 -30
|
@@ -4,7 +4,7 @@ import r from "clsx";
|
|
|
4
4
|
//#region lib/components/atoms/Checkbox.tsx
|
|
5
5
|
var i = ({ dataQa: i, id: a, name: o, required: s = !1, children: c, checked: l, error: u = !1, ...d }) => /* @__PURE__ */ n("label", {
|
|
6
6
|
htmlFor: a,
|
|
7
|
-
className: "text-medium flex cursor-pointer items-
|
|
7
|
+
className: "text-medium flex cursor-pointer items-start gap-2 text-neutral-800 select-none",
|
|
8
8
|
children: [
|
|
9
9
|
/* @__PURE__ */ t("input", {
|
|
10
10
|
id: a,
|
|
@@ -16,11 +16,11 @@ var i = ({ dataQa: i, id: a, name: o, required: s = !1, children: c, checked: l,
|
|
|
16
16
|
}),
|
|
17
17
|
/* @__PURE__ */ t("div", {
|
|
18
18
|
"data-qa": i,
|
|
19
|
-
className: r("flex h-5.5 w-5.5 items-center justify-center rounded transition-colors", "peer-focus-visible:ring-primary-500 peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2", !u && !l && "hover:bg-primary-200 border border-neutral-800 bg-white", l && "border-primary-500 bg-primary-200 border-2", u && "border-error-500 bg-error-20 border"),
|
|
19
|
+
className: r("flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded transition-colors", "peer-focus-visible:ring-primary-500 peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2", !u && !l && "hover:bg-primary-200 border border-neutral-800 bg-white", l && "border-primary-500 bg-primary-200 border-2", u && "border-error-500 bg-error-20 border"),
|
|
20
20
|
children: l && /* @__PURE__ */ t(e, {})
|
|
21
21
|
}),
|
|
22
22
|
/* @__PURE__ */ t("span", {
|
|
23
|
-
className: "leading-tight text-neutral-800",
|
|
23
|
+
className: "min-w-0 leading-tight text-neutral-800",
|
|
24
24
|
children: c
|
|
25
25
|
})
|
|
26
26
|
]
|
package/dist/components/Input.js
CHANGED
|
@@ -75,17 +75,14 @@ var s = ({ dataQa: s, label: c, id: l, name: u, type: d = "text", placeholder: f
|
|
|
75
75
|
}),
|
|
76
76
|
_ && /* @__PURE__ */ a("p", {
|
|
77
77
|
id: `${l}-error-message`,
|
|
78
|
-
className: "text-small text-error-500 flex items-
|
|
79
|
-
children: [
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
" ",
|
|
87
|
-
v
|
|
88
|
-
]
|
|
78
|
+
className: "text-small text-error-500 flex items-start gap-1",
|
|
79
|
+
children: [/* @__PURE__ */ i(e, {
|
|
80
|
+
className: "shrink-0",
|
|
81
|
+
width: 20,
|
|
82
|
+
height: 20,
|
|
83
|
+
fill: "var(--color-error-500)",
|
|
84
|
+
"aria-hidden": "true"
|
|
85
|
+
}), v]
|
|
89
86
|
})
|
|
90
87
|
]
|
|
91
88
|
});
|
|
@@ -4,11 +4,15 @@ import { ReactNode } from 'react';
|
|
|
4
4
|
export declare const JumboDocs: FC<JumboDocsProps>;
|
|
5
5
|
|
|
6
6
|
export declare interface JumboDocsProps {
|
|
7
|
-
trustedBadge?:
|
|
7
|
+
trustedBadge?: TrustedBadgeProps;
|
|
8
8
|
imagePreview: ReactNode | null;
|
|
9
9
|
title: string;
|
|
10
10
|
freeDocTexts: string[];
|
|
11
11
|
pdfDownload: ReactNode;
|
|
12
12
|
wordDownload: ReactNode;
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
export interface TrustedBadgeProps {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
14
18
|
|
|
@@ -1,79 +1,80 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
3
|
import { LinkWrapper as e } from "./LinkWrapper.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { TrustedBadge as t } from "./TrustedBadge.js";
|
|
5
|
+
import { useEffect as n, useRef as r, useState as i } from "react";
|
|
6
|
+
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
7
|
//#region lib/components/organisms/JumboDocs.tsx
|
|
7
|
-
var
|
|
8
|
-
let [
|
|
9
|
-
return
|
|
10
|
-
let e =
|
|
8
|
+
var c = ({ trustedBadge: c, imagePreview: l, freeDocTexts: u, title: d, pdfDownload: f, wordDownload: p }) => {
|
|
9
|
+
let [m, h] = i(!1), g = r(null);
|
|
10
|
+
return n(() => {
|
|
11
|
+
let e = g.current;
|
|
11
12
|
if (!e) return;
|
|
12
13
|
let t = new IntersectionObserver(([e]) => {
|
|
13
|
-
|
|
14
|
+
h(!e.isIntersecting);
|
|
14
15
|
}, { threshold: 0 });
|
|
15
16
|
return t.observe(e), () => {
|
|
16
17
|
t.disconnect();
|
|
17
18
|
};
|
|
18
|
-
}, []), /* @__PURE__ */
|
|
19
|
+
}, []), /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("section", {
|
|
19
20
|
className: "bg-neutral-25 pt-8 text-neutral-800 sm:px-6 lg:px-8 xl:px-30",
|
|
20
|
-
children: /* @__PURE__ */
|
|
21
|
-
ref:
|
|
21
|
+
children: /* @__PURE__ */ s("div", {
|
|
22
|
+
ref: g,
|
|
22
23
|
className: "relative mx-auto flex max-w-300 flex-col items-center justify-center gap-8 rounded bg-white px-6 py-8 shadow-md sm:px-4 md:flex-row lg:px-14",
|
|
23
24
|
children: [
|
|
24
|
-
|
|
25
|
-
/* @__PURE__ */
|
|
25
|
+
c && /* @__PURE__ */ o(t, { ...c }),
|
|
26
|
+
/* @__PURE__ */ o("div", {
|
|
26
27
|
className: "border border-neutral-200 shadow",
|
|
27
|
-
children:
|
|
28
|
+
children: l
|
|
28
29
|
}),
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ s("div", {
|
|
30
31
|
className: "flex flex-col gap-8 self-start",
|
|
31
|
-
children: [/* @__PURE__ */
|
|
32
|
+
children: [/* @__PURE__ */ s("div", {
|
|
32
33
|
className: "flex flex-col gap-4",
|
|
33
34
|
children: [
|
|
34
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ o("p", {
|
|
35
36
|
className: "text-big md:text-large font-bold",
|
|
36
|
-
children:
|
|
37
|
+
children: d
|
|
37
38
|
}),
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
|
|
39
|
+
/* @__PURE__ */ o("span", { className: "h-px w-full bg-neutral-200" }),
|
|
40
|
+
u.length > 0 && /* @__PURE__ */ o("ul", {
|
|
40
41
|
className: "flex flex-col gap-4 md:gap-8",
|
|
41
|
-
children:
|
|
42
|
+
children: u.map((e) => /* @__PURE__ */ s("li", {
|
|
42
43
|
className: "text-small flex gap-2",
|
|
43
|
-
children: [/* @__PURE__ */
|
|
44
|
+
children: [/* @__PURE__ */ o("span", {
|
|
44
45
|
className: "text-primary-500",
|
|
45
46
|
children: "•"
|
|
46
47
|
}), e]
|
|
47
48
|
}, e))
|
|
48
49
|
})
|
|
49
50
|
]
|
|
50
|
-
}), /* @__PURE__ */
|
|
51
|
+
}), /* @__PURE__ */ s("div", {
|
|
51
52
|
className: "flex w-full gap-4",
|
|
52
|
-
children: [/* @__PURE__ */
|
|
53
|
+
children: [/* @__PURE__ */ o(e, {
|
|
53
54
|
className: "w-full md:w-26.25",
|
|
54
55
|
variant: "secondary-black",
|
|
55
|
-
children:
|
|
56
|
-
}), /* @__PURE__ */
|
|
56
|
+
children: f
|
|
57
|
+
}), /* @__PURE__ */ o(e, {
|
|
57
58
|
className: "w-full md:w-26.25",
|
|
58
59
|
variant: "secondary-black",
|
|
59
|
-
children:
|
|
60
|
+
children: p
|
|
60
61
|
})]
|
|
61
62
|
})]
|
|
62
63
|
})
|
|
63
64
|
]
|
|
64
65
|
})
|
|
65
|
-
}),
|
|
66
|
+
}), m && /* @__PURE__ */ s("div", {
|
|
66
67
|
className: "fixed bottom-0 left-0 z-50 flex w-full gap-4 bg-white px-6 py-4 shadow sm:hidden",
|
|
67
|
-
children: [/* @__PURE__ */
|
|
68
|
+
children: [/* @__PURE__ */ o(e, {
|
|
68
69
|
className: "w-full",
|
|
69
70
|
variant: "secondary-black",
|
|
70
|
-
children:
|
|
71
|
-
}), /* @__PURE__ */
|
|
71
|
+
children: f
|
|
72
|
+
}), /* @__PURE__ */ o(e, {
|
|
72
73
|
className: "w-full",
|
|
73
74
|
variant: "secondary-black",
|
|
74
|
-
children:
|
|
75
|
+
children: p
|
|
75
76
|
})]
|
|
76
77
|
})] });
|
|
77
78
|
};
|
|
78
79
|
//#endregion
|
|
79
|
-
export {
|
|
80
|
+
export { c as JumboDocs };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ClearIcon as e } from "./ClearIcon.js";
|
|
2
|
+
import { Button as t } from "./Button.js";
|
|
3
|
+
import { Markdown as n } from "./Markdown.js";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region lib/components/molecules/LeadGateError.tsx
|
|
6
|
+
var a = ({ heading: a, description: o, ctaLabel: s, onRetry: c }) => /* @__PURE__ */ i("div", {
|
|
7
|
+
className: "mt-4 flex w-full flex-col",
|
|
8
|
+
children: [/* @__PURE__ */ r("span", { className: "h-px w-full bg-neutral-200" }), /* @__PURE__ */ i("div", {
|
|
9
|
+
className: "mt-10 flex w-full flex-col gap-10",
|
|
10
|
+
children: [/* @__PURE__ */ i("div", {
|
|
11
|
+
className: "flex w-full flex-col items-center gap-4",
|
|
12
|
+
children: [/* @__PURE__ */ r("div", {
|
|
13
|
+
className: "bg-error-20 flex size-[74px] items-center justify-center rounded-full",
|
|
14
|
+
children: /* @__PURE__ */ r(e, {
|
|
15
|
+
width: 48,
|
|
16
|
+
height: 48,
|
|
17
|
+
fill: "var(--color-error-500)",
|
|
18
|
+
"aria-hidden": "true"
|
|
19
|
+
})
|
|
20
|
+
}), /* @__PURE__ */ i("div", {
|
|
21
|
+
className: "flex w-full flex-col gap-2 text-center",
|
|
22
|
+
children: [/* @__PURE__ */ r("p", {
|
|
23
|
+
className: "text-big font-bold text-neutral-800",
|
|
24
|
+
children: a
|
|
25
|
+
}), /* @__PURE__ */ r(n, {
|
|
26
|
+
className: "text-medium w-auto! text-neutral-800 [&_p]:mb-0",
|
|
27
|
+
content: o
|
|
28
|
+
})]
|
|
29
|
+
})]
|
|
30
|
+
}), /* @__PURE__ */ r(t, {
|
|
31
|
+
type: "button",
|
|
32
|
+
variant: "primary-green",
|
|
33
|
+
className: "w-full",
|
|
34
|
+
dataQa: "lead_gate_retry",
|
|
35
|
+
onClick: c,
|
|
36
|
+
children: s
|
|
37
|
+
})]
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
//#endregion
|
|
41
|
+
export { a as LeadGateError };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
|
|
3
|
+
export declare const LeadGateModal: FC<LeadGateModalProps>;
|
|
4
|
+
|
|
5
|
+
export declare interface LeadGateModalErrors {
|
|
6
|
+
email?: boolean;
|
|
7
|
+
hasAcceptedTerms?: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export declare interface LeadGateModalPayload {
|
|
11
|
+
email: string;
|
|
12
|
+
hasAcceptedTerms: boolean;
|
|
13
|
+
hasAcceptedMarketing: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export declare interface LeadGateModalProps {
|
|
17
|
+
description: string;
|
|
18
|
+
emailLabel: string;
|
|
19
|
+
emailPlaceholder: string;
|
|
20
|
+
emailErrorMessage: string;
|
|
21
|
+
termsLabel: string;
|
|
22
|
+
marketingLabel: string;
|
|
23
|
+
ctaLabel: string;
|
|
24
|
+
payload: LeadGateModalPayload;
|
|
25
|
+
errors?: LeadGateModalErrors;
|
|
26
|
+
onPayloadChange: (payload: LeadGateModalPayload) => void;
|
|
27
|
+
onSubmit?: () => void;
|
|
28
|
+
}
|
|
29
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Button as e } from "./Button.js";
|
|
2
|
+
import { Markdown as t } from "./Markdown.js";
|
|
3
|
+
import { Input as n } from "./Input.js";
|
|
4
|
+
import { Checkbox as r } from "./Checkbox.js";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
+
//#region lib/components/molecules/LeadGateModal.tsx
|
|
7
|
+
var o = (e) => {
|
|
8
|
+
!(e.target instanceof HTMLElement) || !e.target.closest("a") || e.stopPropagation();
|
|
9
|
+
}, s = ({ description: s, emailLabel: c, emailPlaceholder: l, emailErrorMessage: u, termsLabel: d, marketingLabel: f, ctaLabel: p, payload: m, errors: h = {}, onPayloadChange: g, onSubmit: _ }) => /* @__PURE__ */ a("div", {
|
|
10
|
+
className: "mt-4 flex w-full flex-col gap-4",
|
|
11
|
+
children: [/* @__PURE__ */ i("span", { className: "h-px w-full bg-neutral-200" }), /* @__PURE__ */ a("form", {
|
|
12
|
+
className: "flex w-full flex-col gap-4",
|
|
13
|
+
noValidate: !0,
|
|
14
|
+
onSubmit: (e) => {
|
|
15
|
+
e.preventDefault(), _?.();
|
|
16
|
+
},
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ i(t, {
|
|
19
|
+
className: "text-medium w-auto! text-center text-neutral-800 [&_p]:mb-0",
|
|
20
|
+
content: s
|
|
21
|
+
}),
|
|
22
|
+
/* @__PURE__ */ i(n, {
|
|
23
|
+
id: "lead-gate-email",
|
|
24
|
+
name: "email",
|
|
25
|
+
type: "email",
|
|
26
|
+
label: c,
|
|
27
|
+
placeholder: l,
|
|
28
|
+
dataQa: "lead_gate_email",
|
|
29
|
+
value: m.email,
|
|
30
|
+
error: h.email,
|
|
31
|
+
errorMessage: u,
|
|
32
|
+
onInputChange: (e) => {
|
|
33
|
+
g({
|
|
34
|
+
...m,
|
|
35
|
+
email: e
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ a("div", {
|
|
40
|
+
className: "flex flex-col gap-4",
|
|
41
|
+
children: [/* @__PURE__ */ i(r, {
|
|
42
|
+
id: "lead-gate-terms",
|
|
43
|
+
name: "hasAcceptedTerms",
|
|
44
|
+
dataQa: "lead_gate_terms",
|
|
45
|
+
checked: m.hasAcceptedTerms,
|
|
46
|
+
error: h.hasAcceptedTerms,
|
|
47
|
+
onChange: (e) => {
|
|
48
|
+
g({
|
|
49
|
+
...m,
|
|
50
|
+
hasAcceptedTerms: e.currentTarget.checked
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
children: /* @__PURE__ */ i("span", {
|
|
54
|
+
className: "min-w-0",
|
|
55
|
+
onClick: o,
|
|
56
|
+
onKeyDown: o,
|
|
57
|
+
children: /* @__PURE__ */ i(t, {
|
|
58
|
+
className: "[&_p]:mb-0",
|
|
59
|
+
content: d
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
}), /* @__PURE__ */ i(r, {
|
|
63
|
+
id: "lead-gate-marketing",
|
|
64
|
+
name: "hasAcceptedMarketing",
|
|
65
|
+
dataQa: "lead_gate_marketing",
|
|
66
|
+
checked: m.hasAcceptedMarketing,
|
|
67
|
+
onChange: (e) => {
|
|
68
|
+
g({
|
|
69
|
+
...m,
|
|
70
|
+
hasAcceptedMarketing: e.currentTarget.checked
|
|
71
|
+
});
|
|
72
|
+
},
|
|
73
|
+
children: f
|
|
74
|
+
})]
|
|
75
|
+
}),
|
|
76
|
+
/* @__PURE__ */ i(e, {
|
|
77
|
+
type: "submit",
|
|
78
|
+
variant: "primary-green",
|
|
79
|
+
className: "w-full",
|
|
80
|
+
dataQa: "lead_gate_download",
|
|
81
|
+
children: p
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
//#endregion
|
|
87
|
+
export { s as LeadGateModal };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const LeadGateSuccess: FC<LeadGateSuccessProps>;
|
|
5
|
+
|
|
6
|
+
export interface LeadGateSuccessFeatureItemProps {
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export declare interface LeadGateSuccessProps {
|
|
13
|
+
subtitle: string;
|
|
14
|
+
featureItems: LeadGateSuccessFeatureItemProps[];
|
|
15
|
+
ctaLabel: string;
|
|
16
|
+
footer: string;
|
|
17
|
+
illustration: ReactNode;
|
|
18
|
+
onCtaClick?: () => void;
|
|
19
|
+
}
|
|
20
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DocOutlineIcon as e } from "./DocOutlineIcon.js";
|
|
2
|
+
import { Button as t } from "./Button.js";
|
|
3
|
+
import { Markdown as n } from "./Markdown.js";
|
|
4
|
+
import { LeadGateSuccessFeatureItem as r } from "./LeadGateSuccessFeatureItem.js";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
+
//#region lib/components/molecules/LeadGateSuccess.tsx
|
|
7
|
+
var o = ({ subtitle: o, featureItems: s, ctaLabel: c, footer: l, illustration: u, onCtaClick: d }) => /* @__PURE__ */ a("div", {
|
|
8
|
+
className: "mt-6 flex w-full flex-col gap-6",
|
|
9
|
+
children: [
|
|
10
|
+
/* @__PURE__ */ i("div", {
|
|
11
|
+
className: "relative h-[227px] w-[302px] max-w-full overflow-hidden",
|
|
12
|
+
children: u
|
|
13
|
+
}),
|
|
14
|
+
/* @__PURE__ */ i("p", {
|
|
15
|
+
className: "text-medium text-primary-500 w-full text-center",
|
|
16
|
+
children: o
|
|
17
|
+
}),
|
|
18
|
+
/* @__PURE__ */ i("span", { className: "h-px w-full bg-neutral-200" }),
|
|
19
|
+
/* @__PURE__ */ i("ul", {
|
|
20
|
+
className: "flex w-full flex-col gap-4",
|
|
21
|
+
children: s.map((e) => /* @__PURE__ */ i(r, { ...e }, e.title))
|
|
22
|
+
}),
|
|
23
|
+
/* @__PURE__ */ a("div", {
|
|
24
|
+
className: "flex w-full flex-col gap-4",
|
|
25
|
+
children: [/* @__PURE__ */ a(t, {
|
|
26
|
+
type: "button",
|
|
27
|
+
variant: "primary-green",
|
|
28
|
+
className: "w-full",
|
|
29
|
+
dataQa: "lead_gate_success_cta",
|
|
30
|
+
onClick: d,
|
|
31
|
+
children: [/* @__PURE__ */ i(e, {
|
|
32
|
+
width: 22,
|
|
33
|
+
height: 22,
|
|
34
|
+
fill: "currentColor",
|
|
35
|
+
"aria-hidden": "true"
|
|
36
|
+
}), c]
|
|
37
|
+
}), /* @__PURE__ */ i(n, {
|
|
38
|
+
className: "text-extra-small [&_strong]:text-primary-500 text-center text-neutral-600 [&_p]:mb-0",
|
|
39
|
+
content: l
|
|
40
|
+
})]
|
|
41
|
+
})
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { o as LeadGateSuccess };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const LeadGateSuccessFeatureItem: FC<LeadGateSuccessFeatureItemProps>;
|
|
5
|
+
|
|
6
|
+
export declare interface LeadGateSuccessFeatureItemProps {
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
//#region lib/components/molecules/LeadGateSuccessFeatureItem.tsx
|
|
3
|
+
var n = ({ icon: n, title: r, description: i }) => /* @__PURE__ */ t("li", {
|
|
4
|
+
className: "flex items-start gap-4",
|
|
5
|
+
children: [n == null ? null : /* @__PURE__ */ e("span", {
|
|
6
|
+
className: "mt-0.5 shrink-0",
|
|
7
|
+
children: n
|
|
8
|
+
}), /* @__PURE__ */ t("div", {
|
|
9
|
+
className: "flex min-w-0 flex-1 flex-col gap-2",
|
|
10
|
+
children: [/* @__PURE__ */ e("p", {
|
|
11
|
+
className: "text-medium font-bold text-neutral-800",
|
|
12
|
+
children: r
|
|
13
|
+
}), /* @__PURE__ */ e("p", {
|
|
14
|
+
className: "text-small text-neutral-600",
|
|
15
|
+
children: i
|
|
16
|
+
})]
|
|
17
|
+
})]
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { n as LeadGateSuccessFeatureItem };
|
|
@@ -25,7 +25,7 @@ export interface PreformOptionProps {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export declare interface PreformProps {
|
|
28
|
-
trustedBadge:
|
|
28
|
+
trustedBadge: TrustedBadgeProps;
|
|
29
29
|
cta: ReactNode;
|
|
30
30
|
radioFieldData?: RadioFieldData;
|
|
31
31
|
inputFieldData?: InputFieldData;
|
|
@@ -46,4 +46,8 @@ export interface TooltipsProps {
|
|
|
46
46
|
title: string;
|
|
47
47
|
content: string;
|
|
48
48
|
}
|
|
49
|
+
|
|
50
|
+
export interface TrustedBadgeProps {
|
|
51
|
+
children: ReactNode;
|
|
52
|
+
}
|
|
49
53
|
|
|
@@ -3,58 +3,59 @@
|
|
|
3
3
|
import { Input as e } from "./Input.js";
|
|
4
4
|
import { LinkWrapper as t } from "./LinkWrapper.js";
|
|
5
5
|
import { PreformOption as n } from "./PreformOption.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { TrustedBadge as r } from "./TrustedBadge.js";
|
|
7
|
+
import { Tooltips as i } from "./Tooltips.js";
|
|
8
|
+
import { PreformMobile as a } from "./PreformMobile.js";
|
|
8
9
|
import "react";
|
|
9
|
-
import { Fragment as
|
|
10
|
+
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
10
11
|
//#region lib/components/organisms/Preform.tsx
|
|
11
|
-
var
|
|
12
|
+
var l = ({ trustedBadge: l, cta: u, inputFieldData: d, radioFieldData: f, tooltips: p, hasMobileRadioField: m }) => /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("section", {
|
|
12
13
|
className: "bg-neutral-25 hidden pt-10 text-neutral-800 sm:block sm:px-6 lg:px-8 xl:px-30",
|
|
13
|
-
children: /* @__PURE__ */
|
|
14
|
+
children: /* @__PURE__ */ c("div", {
|
|
14
15
|
className: "relative mx-auto flex max-w-300 flex-col gap-6 rounded bg-white px-6 pt-8 pb-6 shadow-md sm:items-center sm:gap-8 lg:px-26 xl:px-10",
|
|
15
16
|
children: [
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
/* @__PURE__ */ s(r, { ...l }),
|
|
18
|
+
f?.isVisible && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("p", {
|
|
18
19
|
className: "text-large font-bold",
|
|
19
|
-
children:
|
|
20
|
-
}), /* @__PURE__ */
|
|
20
|
+
children: f.label
|
|
21
|
+
}), /* @__PURE__ */ c("div", {
|
|
21
22
|
className: "flex w-full max-w-272 flex-wrap justify-center gap-2 sm:gap-4",
|
|
22
|
-
children: [
|
|
23
|
+
children: [f.options.map((e) => /* @__PURE__ */ s("div", {
|
|
23
24
|
className: "w-[calc(25%-12px)] lg:w-[calc(20%-13px)] xl:w-[calc(16.66%-14px)]",
|
|
24
|
-
children: /* @__PURE__ */
|
|
25
|
+
children: /* @__PURE__ */ s(n, {
|
|
25
26
|
...e,
|
|
26
|
-
selected: e.value ===
|
|
27
|
-
onClick:
|
|
27
|
+
selected: e.value === f.radioSelected,
|
|
28
|
+
onClick: f.onClick
|
|
28
29
|
})
|
|
29
|
-
}, e.value)),
|
|
30
|
+
}, e.value)), d?.isVisible && /* @__PURE__ */ s("div", {
|
|
30
31
|
className: "mt-4 flex basis-full justify-center md:mt-0",
|
|
31
|
-
children: /* @__PURE__ */
|
|
32
|
-
id:
|
|
33
|
-
label:
|
|
34
|
-
name:
|
|
35
|
-
placeholder:
|
|
36
|
-
value:
|
|
37
|
-
onInputChange:
|
|
38
|
-
"data-qa":
|
|
32
|
+
children: /* @__PURE__ */ s(e, {
|
|
33
|
+
id: d.id,
|
|
34
|
+
label: d.label,
|
|
35
|
+
name: d.name,
|
|
36
|
+
placeholder: d.placeholder,
|
|
37
|
+
value: d.value,
|
|
38
|
+
onInputChange: d.onChange,
|
|
39
|
+
"data-qa": d.dataQa
|
|
39
40
|
})
|
|
40
|
-
},
|
|
41
|
+
}, d.name)]
|
|
41
42
|
})] }),
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ s(t, {
|
|
43
44
|
variant: "primary-green",
|
|
44
|
-
children:
|
|
45
|
+
children: u
|
|
45
46
|
}),
|
|
46
|
-
|
|
47
|
+
p.length > 0 && /* @__PURE__ */ s("div", {
|
|
47
48
|
className: "flex flex-col gap-8",
|
|
48
|
-
children:
|
|
49
|
+
children: p.map((e) => /* @__PURE__ */ s(i, { ...e }, e.title))
|
|
49
50
|
})
|
|
50
51
|
]
|
|
51
52
|
})
|
|
52
|
-
}), /* @__PURE__ */
|
|
53
|
-
cta:
|
|
54
|
-
trustedBadge:
|
|
55
|
-
inputFieldData:
|
|
56
|
-
radioFieldData:
|
|
57
|
-
hasMobileRadioField:
|
|
53
|
+
}), /* @__PURE__ */ s(a, {
|
|
54
|
+
cta: u,
|
|
55
|
+
trustedBadge: l,
|
|
56
|
+
inputFieldData: d,
|
|
57
|
+
radioFieldData: f,
|
|
58
|
+
hasMobileRadioField: m
|
|
58
59
|
})] });
|
|
59
60
|
//#endregion
|
|
60
|
-
export {
|
|
61
|
+
export { l as Preform };
|
|
@@ -15,7 +15,7 @@ export type InputFieldData = {
|
|
|
15
15
|
export declare const PreformMobile: FC<PreformMobileProps>;
|
|
16
16
|
|
|
17
17
|
export declare interface PreformMobileProps {
|
|
18
|
-
trustedBadge:
|
|
18
|
+
trustedBadge: TrustedBadgeProps;
|
|
19
19
|
radioFieldData?: RadioFieldData;
|
|
20
20
|
inputFieldData?: InputFieldData;
|
|
21
21
|
cta: ReactNode;
|
|
@@ -40,4 +40,8 @@ export type RadioFieldData = {
|
|
|
40
40
|
radioSelected: string;
|
|
41
41
|
onClick: (str: string) => void;
|
|
42
42
|
};
|
|
43
|
+
|
|
44
|
+
export interface TrustedBadgeProps {
|
|
45
|
+
children: ReactNode;
|
|
46
|
+
}
|
|
43
47
|
|