@npm_leadtech/legal-contracts-ui 0.65.0 → 0.65.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,6 +44,7 @@ export interface ContentItemProps {
44
44
  wordDownload: ReactNode;
45
45
  } | null;
46
46
  subtypeDocs: SubtypeDocumentProps[];
47
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
47
48
  }
48
49
 
49
50
  export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
@@ -92,6 +93,15 @@ export interface FaqSectionProps {
92
93
  className?: string;
93
94
  }
94
95
 
96
+ export interface FreeDocumentModalProps {
97
+ show?: boolean;
98
+ trigger: ReactNode;
99
+ image?: ReactNode;
100
+ title?: string;
101
+ description?: string;
102
+ cta?: ReactNode;
103
+ }
104
+
95
105
  export interface ImageWithPreviewProps {
96
106
  small: ReactNode;
97
107
  large: ReactNode;
@@ -3,6 +3,6 @@ import { JSX } from 'react/jsx-runtime';
3
3
  export declare const Anchor: ({ children, variant, className, ...props }: AnchorProps) => JSX.Element;
4
4
 
5
5
  export interface AnchorProps extends React.ComponentProps<'a'> {
6
- variant?: 'default' | 'legal';
6
+ variant?: 'default' | 'legal' | 'tooltip';
7
7
  }
8
8
 
@@ -1,9 +1,12 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import o from "clsx";
3
- const m = ({ children: r, variant: e = "default", className: t = "", ...a }) => /* @__PURE__ */ n("a", { className: o(t, {
4
- default: "text-neutral-900 underline ",
5
- legal: "text-primary-700"
6
- }[e]), target: "_blank", rel: "noopener noreferrer", ...a, children: r });
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import s from "clsx";
3
+ const i = ({ children: e, variant: t = "default", className: a = "", ...n }) => {
4
+ const r = {
5
+ default: "text-neutral-900 underline ",
6
+ legal: "text-primary-700"
7
+ }, l = r[t] ?? r.default;
8
+ return /* @__PURE__ */ o("a", { className: s(a, l), target: "_blank", rel: "noopener noreferrer", ...n, children: e });
9
+ };
7
10
  export {
8
- m as Anchor
11
+ i as Anchor
9
12
  };
@@ -56,6 +56,7 @@ export interface ContentItemProps {
56
56
  wordDownload: ReactNode;
57
57
  } | null;
58
58
  subtypeDocs: SubtypeDocumentProps[];
59
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
59
60
  }
60
61
 
61
62
  export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
@@ -104,6 +105,15 @@ export interface FaqSectionProps {
104
105
  className?: string;
105
106
  }
106
107
 
108
+ export interface FreeDocumentModalProps {
109
+ show?: boolean;
110
+ trigger: ReactNode;
111
+ image?: ReactNode;
112
+ title?: string;
113
+ description?: string;
114
+ cta?: ReactNode;
115
+ }
116
+
107
117
  export interface ImageWithPreviewProps {
108
118
  small: ReactNode;
109
119
  large: ReactNode;
@@ -1,27 +1,12 @@
1
- import { jsxs as r, jsx as i } from "react/jsx-runtime";
1
+ import { jsx as o } from "react/jsx-runtime";
2
2
  import "react";
3
- const t = (l) => /* @__PURE__ */ r("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", ...l, children: [
4
- /* @__PURE__ */ i(
5
- "mask",
6
- {
7
- id: "mask0_2507_4542",
8
- width: "8",
9
- height: "12",
10
- x: "8",
11
- y: "6",
12
- maskUnits: "userSpaceOnUse",
13
- style: { maskType: "luminance" },
14
- children: /* @__PURE__ */ i(
15
- "path",
16
- {
17
- fill: "var(--color-neutral-white)",
18
- d: "M10.41 6.705A.998.998 0 0 0 9 8.115L12.875 12l-3.876 3.885a.998.998 0 0 0 1.411 1.41l4.588-4.588a1 1 0 0 0 0-1.414z"
19
- }
20
- )
21
- }
22
- ),
23
- /* @__PURE__ */ i("g", { mask: "url(#mask0_2507_4542)", children: /* @__PURE__ */ i("path", { fill: "var(--color-primary-700)", d: "M0 0h24v24H0z" }) })
24
- ] });
3
+ const n = (t) => /* @__PURE__ */ o("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", ...t, children: /* @__PURE__ */ o(
4
+ "path",
5
+ {
6
+ d: "M10.4103 6.70527C10.0208 6.31569 9.38915 6.31569 8.99958 6.70527C8.6103 7.09454 8.60996 7.72557 8.99881 8.11526L12.875 11.9999L8.99881 15.8845C8.60996 16.2742 8.6103 16.9052 8.99958 17.2945C9.38915 17.6841 10.0208 17.6841 10.4103 17.2945L14.9979 12.707C15.3884 12.3165 15.3884 11.6833 14.9979 11.2928L10.4103 6.70527Z",
7
+ fill: "#05646E"
8
+ }
9
+ ) });
25
10
  export {
26
- t as ChevronRightIcon
11
+ n as ChevronRightIcon
27
12
  };
@@ -27,6 +27,7 @@ export declare interface ContentItemProps {
27
27
  wordDownload: ReactNode;
28
28
  } | null;
29
29
  subtypeDocs: SubtypeDocumentProps[];
30
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
30
31
  }
31
32
 
32
33
  export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
@@ -35,6 +36,15 @@ export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
35
36
  description: string;
36
37
  }
37
38
 
39
+ export interface FreeDocumentModalProps {
40
+ show?: boolean;
41
+ trigger: ReactNode;
42
+ image?: ReactNode;
43
+ title?: string;
44
+ description?: string;
45
+ cta?: ReactNode;
46
+ }
47
+
38
48
  export interface ImageWithPreviewProps {
39
49
  small: ReactNode;
40
50
  large: ReactNode;
@@ -1,31 +1,45 @@
1
- import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { ImageWithPreview as c } from "./ImageWithPreview.js";
3
- import { LinkedProducts as d } from "./LinkedProducts.js";
4
- import { Markdown as h } from "./Markdown.js";
1
+ import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
+ import { ImageWithPreview as h } from "./ImageWithPreview.js";
3
+ import { LinkedProducts as x } from "./LinkedProducts.js";
4
+ import { Markdown as u } from "./Markdown.js";
5
5
  import { LinkWrapper as l } from "./LinkWrapper.js";
6
- import { AlternativeSubtypeDocument as x } from "./AlternativeSubtypeDocument.js";
7
- import { DefaultSubtypeDocument as u } from "./DefaultSubtypeDocument.js";
8
- const y = ({
9
- id: p,
10
- title: t,
11
- content: n,
12
- linkedProducts: m,
6
+ import { FreeDocumentModal as p } from "./FreeDocumentModal.js";
7
+ import { AlternativeSubtypeDocument as g } from "./AlternativeSubtypeDocument.js";
8
+ import { DefaultSubtypeDocument as w } from "./DefaultSubtypeDocument.js";
9
+ const L = ({
10
+ id: d,
11
+ title: a,
12
+ content: m,
13
+ linkedProducts: n,
13
14
  sampleImage: i,
14
15
  cta: o,
15
- docsModules: a,
16
- subtypeDocs: f
17
- }) => /* @__PURE__ */ s("div", { id: p, className: "flex flex-col gap-6 text-neutral-900", children: [
18
- t && /* @__PURE__ */ e("h2", { className: "text-super-large font-bold", children: t }),
19
- n && /* @__PURE__ */ e(h, { content: n, className: "text-medium [&_p:last-child]:mb-0" }),
20
- m.length > 0 && /* @__PURE__ */ e(d, { linkedProducts: m }),
21
- i && /* @__PURE__ */ e(c, { ...i }),
22
- !!o && /* @__PURE__ */ e(l, { className: "w-75 self-center", children: o }),
23
- a && /* @__PURE__ */ s("div", { className: "flex w-75 gap-4 self-center", children: [
24
- /* @__PURE__ */ e(l, { className: "w-full", variant: "secondary-black", children: a.pdfDownload }),
25
- /* @__PURE__ */ e(l, { className: "w-full", variant: "secondary-black", children: a.wordDownload })
16
+ docsModules: t,
17
+ subtypeDocs: f,
18
+ freeDocModal: s
19
+ }) => /* @__PURE__ */ c("div", { id: d, className: "flex scroll-mt-25 flex-col gap-6 text-neutral-900", children: [
20
+ a && /* @__PURE__ */ e("h2", { className: "text-super-large font-bold", children: a }),
21
+ m && /* @__PURE__ */ e(u, { content: m, className: "text-medium [&_p:last-child]:mb-0" }),
22
+ n.length > 0 && /* @__PURE__ */ e(x, { linkedProducts: n }),
23
+ i && /* @__PURE__ */ e(h, { ...i }),
24
+ !!o && /* @__PURE__ */ e(l, { className: "w-75 self-center text-center", children: o }),
25
+ t && /* @__PURE__ */ c("div", { className: "flex w-75 gap-4 self-center", children: [
26
+ /* @__PURE__ */ e(
27
+ p,
28
+ {
29
+ trigger: /* @__PURE__ */ e(l, { className: "w-full", variant: "secondary-black", children: t.pdfDownload }),
30
+ ...s
31
+ }
32
+ ),
33
+ /* @__PURE__ */ e(
34
+ p,
35
+ {
36
+ trigger: /* @__PURE__ */ e(l, { className: "w-full", variant: "secondary-black", children: t.wordDownload }),
37
+ ...s
38
+ }
39
+ )
26
40
  ] }),
27
- f.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2", children: f.map((r) => r.format === "Alternative" ? /* @__PURE__ */ e(x, { ...r }, r.id) : /* @__PURE__ */ e(u, { ...r }, r.id)) })
41
+ f.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2", children: f.map((r) => r.format === "Alternative" ? /* @__PURE__ */ e(g, { ...r }, r.id) : /* @__PURE__ */ e(w, { ...r }, r.id)) })
28
42
  ] });
29
43
  export {
30
- y as ContentItem
44
+ L as ContentItem
31
45
  };
@@ -0,0 +1,14 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare const FreeDocumentModal: FC<FreeDocumentModalProps>;
5
+
6
+ export declare interface FreeDocumentModalProps {
7
+ show?: boolean;
8
+ trigger: ReactNode;
9
+ image?: ReactNode;
10
+ title?: string;
11
+ description?: string;
12
+ cta?: ReactNode;
13
+ }
14
+
@@ -0,0 +1,24 @@
1
+ import { jsx as l, jsxs as e } from "react/jsx-runtime";
2
+ import { Modal as c } from "./Modal.js";
3
+ import { LinkWrapper as f } from "./LinkWrapper.js";
4
+ const p = ({
5
+ show: a = !1,
6
+ image: s,
7
+ title: m,
8
+ description: t,
9
+ trigger: r,
10
+ cta: d
11
+ }) => a ? /* @__PURE__ */ l(c, { trigger: r, showClose: !0, children: /* @__PURE__ */ e("div", { className: "flex flex-col bg-white text-neutral-900 md:max-w-155 md:flex-row", children: [
12
+ /* @__PURE__ */ l("div", { className: "w-full [&_img]:w-full", children: s }),
13
+ /* @__PURE__ */ e("div", { className: "flex flex-col gap-8 self-start p-7 md:pt-8 md:pr-16 md:pb-4 md:pl-8", children: [
14
+ /* @__PURE__ */ e("div", { className: "flex flex-col gap-4 text-left", children: [
15
+ /* @__PURE__ */ l("h2", { className: "text-big font-bold", children: m }),
16
+ /* @__PURE__ */ l("span", { className: "h-px w-full bg-neutral-200" }),
17
+ /* @__PURE__ */ l("p", { children: t })
18
+ ] }),
19
+ /* @__PURE__ */ l(f, { className: "w-full md:w-fit", children: d })
20
+ ] })
21
+ ] }) }) : r;
22
+ export {
23
+ p as FreeDocumentModal
24
+ };
@@ -6,6 +6,6 @@ export declare interface MarkdownProps {
6
6
  content: string;
7
7
  className?: string;
8
8
  useCustom?: boolean;
9
- variant?: 'default' | 'legal';
9
+ variant?: 'default' | 'legal' | 'tooltip';
10
10
  }
11
11
 
@@ -1,10 +1,11 @@
1
1
  import { JSX } from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
 
4
- export declare const Modal: ({ trigger, children }: ModalProps) => JSX.Element;
4
+ export declare const Modal: ({ trigger, children, showClose }: ModalProps) => JSX.Element;
5
5
 
6
6
  export interface ModalProps {
7
7
  trigger: ReactNode;
8
8
  children: ReactNode;
9
+ showClose?: boolean;
9
10
  }
10
11
 
@@ -1,23 +1,36 @@
1
1
  "use client";
2
- import { jsxs as l, Fragment as a, jsx as e } from "react/jsx-runtime";
3
- import { useState as c } from "react";
4
- const f = ({ trigger: r, children: s }) => {
5
- const [t, i] = c(!1), o = () => {
2
+ import { jsxs as r, Fragment as c, jsx as e } from "react/jsx-runtime";
3
+ import { useState as u } from "react";
4
+ import { CloseIcon as m } from "./CloseIcon.js";
5
+ const h = ({ trigger: l, children: s, showClose: n }) => {
6
+ const [t, i] = u(!1), o = () => {
6
7
  i(!t);
7
8
  };
8
- return /* @__PURE__ */ l(a, { children: [
9
- /* @__PURE__ */ e("button", { "aria-label": "zoom", onClick: o, className: "cursor-pointer", children: r }),
10
- t && /* @__PURE__ */ e("button", { className: "bg-primary-900/80 fixed inset-0 z-50 flex items-center justify-center", onClick: o, children: /* @__PURE__ */ e("div", { className: "relative flex max-h-screen w-full items-start justify-center overflow-y-auto px-6 py-24", children: /* @__PURE__ */ e(
9
+ return /* @__PURE__ */ r(c, { children: [
10
+ /* @__PURE__ */ e("button", { "aria-label": "zoom", onClick: o, className: "flex w-full cursor-pointer justify-center", children: l }),
11
+ t && /* @__PURE__ */ e("button", { className: "bg-primary-900/80 fixed inset-0 z-50 flex items-center justify-center", onClick: o, children: /* @__PURE__ */ e("div", { className: "relative flex max-h-screen w-full items-start justify-center overflow-y-auto px-6 py-24", children: /* @__PURE__ */ r(
11
12
  "div",
12
13
  {
13
- onClick: (n) => {
14
- n.stopPropagation();
14
+ className: "relative",
15
+ onClick: (a) => {
16
+ a.stopPropagation();
15
17
  },
16
- children: s
18
+ children: [
19
+ n && /* @__PURE__ */ e(
20
+ "span",
21
+ {
22
+ className: "absolute top-4 right-4 z-10 cursor-pointer rounded-full p-2 transition-colors hover:bg-neutral-100 focus:outline-none",
23
+ onClick: o,
24
+ "aria-label": "Close",
25
+ children: /* @__PURE__ */ e(m, {})
26
+ }
27
+ ),
28
+ s
29
+ ]
17
30
  }
18
31
  ) }) })
19
32
  ] });
20
33
  };
21
34
  export {
22
- f as Modal
35
+ h as Modal
23
36
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- const e = ({ children: a }) => /* @__PURE__ */ r("p", { className: "mb-4 text-neutral-800", children: a });
2
+ const o = ({ children: a }) => /* @__PURE__ */ r("p", { className: "mb-4", children: a });
3
3
  export {
4
- e as Paragraph
4
+ o as Paragraph
5
5
  };
@@ -27,6 +27,7 @@ export declare interface PreformProps {
27
27
  cta: ReactNode;
28
28
  radioFieldData?: RadioFieldData;
29
29
  inputFieldData?: InputFieldData;
30
+ tooltips: TooltipsProps[];
30
31
  }
31
32
 
32
33
  export declare type RadioFieldData = {
@@ -38,6 +39,11 @@ export declare type RadioFieldData = {
38
39
  onClick: (str: string) => void;
39
40
  };
40
41
 
42
+ export interface TooltipsProps {
43
+ title: string;
44
+ content: string;
45
+ }
46
+
41
47
  export interface TrustedBadgeProps {
42
48
  children: ReactNode;
43
49
  }
@@ -1,57 +1,59 @@
1
1
  "use client";
2
- import { jsxs as r, Fragment as n, jsx as l } from "react/jsx-runtime";
2
+ import { jsxs as c, Fragment as p, jsx as e } from "react/jsx-runtime";
3
3
  import "react";
4
- import { PreformMobile as x } from "./PreformMobile.js";
5
- import { PreformOption as p } from "./PreformOption.js";
6
- import { TrustedBadge as a } from "./TrustedBadge.js";
7
- import { Input as f } from "./Input.js";
8
- import { LinkWrapper as i } from "./LinkWrapper.js";
9
- const u = ({ trustedBadge: c, cta: o, inputFieldData: e, radioFieldData: m }) => /* @__PURE__ */ r(n, { children: [
10
- /* @__PURE__ */ l("section", { className: "bg-neutral-25 hidden pt-10 text-neutral-800 sm:block sm:px-6 lg:px-8 xl:px-30", children: /* @__PURE__ */ r("div", { 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", children: [
11
- /* @__PURE__ */ l(a, { ...c }),
12
- m?.isVisible && /* @__PURE__ */ r(n, { children: [
13
- /* @__PURE__ */ l("h2", { className: "text-medium sm:text-large font-bold", children: m.label }),
14
- /* @__PURE__ */ r("div", { className: "flex w-full max-w-272 flex-wrap justify-center gap-2 sm:gap-4", children: [
15
- m.options.map((s) => /* @__PURE__ */ l(
4
+ import { Tooltips as x } from "./Tooltips.js";
5
+ import { PreformMobile as a } from "./PreformMobile.js";
6
+ import { PreformOption as f } from "./PreformOption.js";
7
+ import { TrustedBadge as i } from "./TrustedBadge.js";
8
+ import { Input as h } from "./Input.js";
9
+ import { LinkWrapper as t } from "./LinkWrapper.js";
10
+ const k = ({ trustedBadge: s, cta: o, inputFieldData: l, radioFieldData: m, tooltips: n }) => /* @__PURE__ */ c(p, { children: [
11
+ /* @__PURE__ */ e("section", { className: "bg-neutral-25 hidden pt-10 text-neutral-800 sm:block sm:px-6 lg:px-8 xl:px-30", children: /* @__PURE__ */ c("div", { 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", children: [
12
+ /* @__PURE__ */ e(i, { ...s }),
13
+ m?.isVisible && /* @__PURE__ */ c(p, { children: [
14
+ /* @__PURE__ */ e("h2", { className: "text-medium sm:text-large font-bold", children: m.label }),
15
+ /* @__PURE__ */ c("div", { className: "flex w-full max-w-272 flex-wrap justify-center gap-2 sm:gap-4", children: [
16
+ m.options.map((r) => /* @__PURE__ */ e(
16
17
  "div",
17
18
  {
18
19
  className: "w-[calc(50%-4px)] sm:w-[calc(25%-12px)] lg:w-[calc(20%-13px)] xl:w-[calc(16.66%-14px)]",
19
- children: /* @__PURE__ */ l(
20
- p,
20
+ children: /* @__PURE__ */ e(
21
+ f,
21
22
  {
22
- ...s,
23
- selected: s.value === m.radioSelected,
23
+ ...r,
24
+ selected: r.value === m.radioSelected,
24
25
  onClick: m.onClick
25
26
  }
26
27
  )
27
28
  },
28
- s.value
29
+ r.value
29
30
  )),
30
- e?.isVisible && /* @__PURE__ */ l("div", { className: "mt-4 flex basis-full justify-center md:mt-0", children: /* @__PURE__ */ l(
31
- f,
31
+ l?.isVisible && /* @__PURE__ */ e("div", { className: "mt-4 flex basis-full justify-center md:mt-0", children: /* @__PURE__ */ e(
32
+ h,
32
33
  {
33
- id: e.id,
34
- label: e.label,
35
- name: e.name,
36
- placeholder: e.placeholder,
37
- value: e.value,
38
- onInputChange: e.onChange
34
+ id: l.id,
35
+ label: l.label,
36
+ name: l.name,
37
+ placeholder: l.placeholder,
38
+ value: l.value,
39
+ onInputChange: l.onChange
39
40
  }
40
- ) }, e.name)
41
+ ) }, l.name)
41
42
  ] })
42
43
  ] }),
43
- /* @__PURE__ */ l(i, { variant: "primary-green", children: o })
44
+ /* @__PURE__ */ e(t, { variant: "primary-green", children: o }),
45
+ n.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: n.map((r) => /* @__PURE__ */ e(x, { ...r }, r.title)) })
44
46
  ] }) }),
45
- /* @__PURE__ */ l(
46
- x,
47
+ /* @__PURE__ */ e(
48
+ a,
47
49
  {
48
50
  cta: o,
49
- trustedBadge: c,
50
- inputFieldData: e,
51
+ trustedBadge: s,
52
+ inputFieldData: l,
51
53
  radioFieldData: m
52
54
  }
53
55
  )
54
56
  ] });
55
57
  export {
56
- u as Preform
58
+ k as Preform
57
59
  };
@@ -1,6 +1,15 @@
1
1
  import { FC } from 'react';
2
2
  import { ReactNode } from 'react';
3
3
 
4
+ export interface FreeDocumentModalProps {
5
+ show?: boolean;
6
+ trigger: ReactNode;
7
+ image?: ReactNode;
8
+ title?: string;
9
+ description?: string;
10
+ cta?: ReactNode;
11
+ }
12
+
4
13
  export interface ImageWithPreviewProps {
5
14
  small: ReactNode;
6
15
  large: ReactNode;
@@ -15,5 +24,6 @@ export declare interface PreviewDownloadProps {
15
24
  footerText: string;
16
25
  pdfDownload: ReactNode;
17
26
  wordDownload: ReactNode;
27
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
18
28
  }
19
29
 
@@ -1,36 +1,50 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import "react";
3
- import { Modal as o } from "./Modal.js";
4
- import { ZoomIcon as d } from "./ZoomIcon.js";
5
- import { Markdown as u } from "./Markdown.js";
6
- import { LinkWrapper as r } from "./LinkWrapper.js";
7
- const N = ({
8
- title: t,
9
- footerText: s,
10
- preview: a,
11
- cta: i,
12
- pdfDownload: n,
13
- wordDownload: c
3
+ import { FreeDocumentModal as i } from "./FreeDocumentModal.js";
4
+ import { ZoomIcon as u } from "./ZoomIcon.js";
5
+ import { Modal as f } from "./Modal.js";
6
+ import { Markdown as p } from "./Markdown.js";
7
+ import { LinkWrapper as a } from "./LinkWrapper.js";
8
+ const y = ({
9
+ title: s,
10
+ footerText: m,
11
+ preview: r,
12
+ cta: n,
13
+ pdfDownload: o,
14
+ wordDownload: c,
15
+ freeDocModal: t
14
16
  }) => {
15
- if (!a) return;
16
- const m = /* @__PURE__ */ e(d, { className: "bg-primary-700 size-8 rounded p-2 opacity-80 hover:opacity-100" });
17
+ if (!r) return;
18
+ const d = /* @__PURE__ */ e(u, { className: "bg-primary-700 size-8 rounded p-2 opacity-80 hover:opacity-100" });
17
19
  return /* @__PURE__ */ l("div", { className: "bg-neutral-25 relative mt-24 flex flex-col items-center gap-4 rounded border border-neutral-200 p-6 pt-44 lg:max-w-76 xl:max-w-96.5", children: [
18
20
  /* @__PURE__ */ l("div", { className: "absolute -top-24 border border-neutral-200 shadow", children: [
19
- /* @__PURE__ */ e("div", { className: "h-full max-h-64.5 w-full max-w-50 overflow-hidden", children: a.small }),
20
- /* @__PURE__ */ e("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ e(o, { trigger: m, children: a.large }) })
21
+ /* @__PURE__ */ e("div", { className: "h-full max-h-64.5 w-full max-w-50 overflow-hidden", children: r.small }),
22
+ /* @__PURE__ */ e("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ e(f, { trigger: d, children: r.large }) })
21
23
  ] }),
22
- /* @__PURE__ */ e(u, { className: "text-medium text-center text-neutral-800 [&_p:last-child]:mb-0", content: t }),
23
- /* @__PURE__ */ e(r, { className: "w-full", variant: "primary-green", children: i }),
24
+ /* @__PURE__ */ e(p, { className: "text-medium text-center text-neutral-800 [&_p:last-child]:mb-0", content: s }),
25
+ /* @__PURE__ */ e(a, { className: "w-full", variant: "primary-green", children: n }),
24
26
  /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-200" }),
25
27
  /* @__PURE__ */ l("div", { className: "flex w-full flex-col items-center gap-6", children: [
26
- /* @__PURE__ */ e("p", { className: "text-small text-neutral-800", children: s }),
28
+ /* @__PURE__ */ e("p", { className: "text-small text-neutral-800", children: m }),
27
29
  /* @__PURE__ */ l("div", { className: "flex w-full gap-4", children: [
28
- /* @__PURE__ */ e(r, { className: "w-full", variant: "secondary-black", children: n }),
29
- /* @__PURE__ */ e(r, { className: "w-full", variant: "secondary-black", children: c })
30
+ /* @__PURE__ */ e(
31
+ i,
32
+ {
33
+ trigger: /* @__PURE__ */ e(a, { className: "w-full", variant: "secondary-black", children: o }),
34
+ ...t
35
+ }
36
+ ),
37
+ /* @__PURE__ */ e(
38
+ i,
39
+ {
40
+ trigger: /* @__PURE__ */ e(a, { className: "w-full", variant: "secondary-black", children: c }),
41
+ ...t
42
+ }
43
+ )
30
44
  ] })
31
45
  ] })
32
46
  ] });
33
47
  };
34
48
  export {
35
- N as PreviewDownload
49
+ y as PreviewDownload
36
50
  };
@@ -40,6 +40,7 @@ export interface ContentItemProps {
40
40
  wordDownload: ReactNode;
41
41
  } | null;
42
42
  subtypeDocs: SubtypeDocumentProps[];
43
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
43
44
  }
44
45
 
45
46
  export interface DefaultSubtypeDocumentProps extends BaseSubtypeDocumentProps {
@@ -63,6 +64,15 @@ export interface FaqSectionProps {
63
64
  className?: string;
64
65
  }
65
66
 
67
+ export interface FreeDocumentModalProps {
68
+ show?: boolean;
69
+ trigger: ReactNode;
70
+ image?: ReactNode;
71
+ title?: string;
72
+ description?: string;
73
+ cta?: ReactNode;
74
+ }
75
+
66
76
  export interface ImageWithPreviewProps {
67
77
  small: ReactNode;
68
78
  large: ReactNode;
@@ -112,6 +122,7 @@ export interface PreformProps {
112
122
  cta: ReactNode;
113
123
  radioFieldData?: RadioFieldData;
114
124
  inputFieldData?: InputFieldData;
125
+ tooltips: TooltipsProps[];
115
126
  }
116
127
 
117
128
  export interface PreviewDownloadProps {
@@ -121,6 +132,7 @@ export interface PreviewDownloadProps {
121
132
  footerText: string;
122
133
  pdfDownload: ReactNode;
123
134
  wordDownload: ReactNode;
135
+ freeDocModal: Omit<FreeDocumentModalProps, 'trigger'> | null;
124
136
  }
125
137
 
126
138
  export interface PreviewSectionProps {
@@ -152,7 +164,7 @@ export declare interface ProductTemplateProps {
152
164
  faqSection: FaqSectionProps;
153
165
  previewDownload: PreviewDownloadProps;
154
166
  previewSection?: PreviewSectionProps;
155
- tryNowSection: TryNowSectionProps;
167
+ tryNowSection?: TryNowSectionProps;
156
168
  }
157
169
 
158
170
  export type RadioFieldData = {
@@ -174,6 +186,11 @@ export interface TableOfContentsProps {
174
186
  }[];
175
187
  }
176
188
 
189
+ export interface TooltipsProps {
190
+ title: string;
191
+ content: string;
192
+ }
193
+
177
194
  export interface TrustedBadgeProps {
178
195
  children: ReactNode;
179
196
  }