@npm_leadtech/legal-contracts-ui 0.76.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare interface PricingContactChannel {
5
+ id: string;
6
+ icon: ReactNode;
7
+ title: string;
8
+ description: string;
9
+ }
10
+
11
+ export declare const PricingContactChannelsSection: FC<PricingContactChannelsSectionProps>;
12
+
13
+ export declare interface PricingContactChannelsSectionProps {
14
+ title: string;
15
+ description: string;
16
+ channels: PricingContactChannel[];
17
+ }
18
+
@@ -0,0 +1,19 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import { SectionHeading as c } from "./SectionHeading.js";
3
+ const d = ({
4
+ title: a,
5
+ description: t,
6
+ channels: s
7
+ }) => /* @__PURE__ */ e("section", { className: "bg-white px-6 py-12 md:px-12 lg:px-24", children: /* @__PURE__ */ l("div", { className: "mx-auto flex max-w-6xl flex-col gap-8", children: [
8
+ /* @__PURE__ */ e(c, { title: a, description: t }),
9
+ /* @__PURE__ */ e("div", { className: "grid gap-4 lg:grid-cols-2", children: s.map((i) => /* @__PURE__ */ l("div", { className: "bg-neutral-25 flex items-start gap-4 rounded-2xl p-6", children: [
10
+ /* @__PURE__ */ e("div", { className: "text-primary-700 rounded-md bg-white p-3 shadow-sm", children: i.icon }),
11
+ /* @__PURE__ */ l("div", { children: [
12
+ /* @__PURE__ */ e("p", { className: "text-medium font-bold text-neutral-900", children: i.title }),
13
+ /* @__PURE__ */ e("p", { className: "text-small text-neutral-700", children: i.description })
14
+ ] })
15
+ ] }, i.id)) })
16
+ ] }) });
17
+ export {
18
+ d as PricingContactChannelsSection
19
+ };
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare const PricingHeroSection: FC<PricingHeroSectionProps>;
5
+
6
+ export declare interface PricingHeroSectionProps {
7
+ eyebrow: string;
8
+ title: string;
9
+ titleClassName?: string;
10
+ image: ReactNode;
11
+ paragraphs: ReactNode[];
12
+ }
13
+
@@ -0,0 +1,21 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ const m = ({
3
+ eyebrow: a,
4
+ title: t,
5
+ titleClassName: r = "font-lora text-hero text-neutral-800",
6
+ image: c,
7
+ paragraphs: s
8
+ }) => /* @__PURE__ */ e("section", { className: "bg-primary-50 px-6 py-12 md:px-12 lg:px-24 lg:py-16", children: /* @__PURE__ */ l("div", { className: "mx-auto flex max-w-6xl flex-col gap-10", children: [
9
+ /* @__PURE__ */ l("div", { className: "flex flex-col items-center gap-3 text-center", children: [
10
+ /* @__PURE__ */ e("span", { className: "text-small font-bold tracking-[0.2em] text-neutral-600", children: a }),
11
+ /* @__PURE__ */ e("div", { className: "h-px w-24 bg-neutral-200" }),
12
+ /* @__PURE__ */ e("h1", { className: r, children: t })
13
+ ] }),
14
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-8 lg:flex-row", children: [
15
+ /* @__PURE__ */ e("div", { className: "lg:w-1/2", children: c }),
16
+ /* @__PURE__ */ e("div", { className: "text-medium space-y-4 text-neutral-800 lg:w-1/2", children: s.map((i, n) => /* @__PURE__ */ e("p", { children: i }, `hero-paragraph-${n.toString()}`)) })
17
+ ] })
18
+ ] }) });
19
+ export {
20
+ m as PricingHeroSection
21
+ };
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare interface PricingOfferingItem {
5
+ id: string;
6
+ icon: ReactNode;
7
+ title: string;
8
+ description: string;
9
+ }
10
+
11
+ export declare const PricingOfferingsSection: FC<PricingOfferingsSectionProps>;
12
+
13
+ export declare interface PricingOfferingsSectionProps {
14
+ heading: string;
15
+ items: PricingOfferingItem[];
16
+ }
17
+
@@ -0,0 +1,15 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import { SectionHeading as r } from "./SectionHeading.js";
3
+ const c = ({ heading: t, items: s }) => /* @__PURE__ */ e("section", { className: "bg-white px-6 py-12 md:px-12 lg:px-24", children: /* @__PURE__ */ l("div", { className: "bg-primary-50 mx-auto flex max-w-6xl flex-col gap-8 rounded-2xl p-8", children: [
4
+ /* @__PURE__ */ e(r, { title: t, align: "start" }),
5
+ /* @__PURE__ */ e("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-5", children: s.map((i) => /* @__PURE__ */ l("div", { className: "flex flex-col gap-4 rounded-lg bg-white p-5 shadow-sm", children: [
6
+ /* @__PURE__ */ e("span", { className: "bg-primary-100 text-primary-700 inline-flex w-fit items-center justify-center rounded-md p-2", children: i.icon }),
7
+ /* @__PURE__ */ l("div", { className: "space-y-1", children: [
8
+ /* @__PURE__ */ e("p", { className: "text-big text-primary-900 font-bold", children: i.title }),
9
+ /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: i.description })
10
+ ] })
11
+ ] }, i.id)) })
12
+ ] }) });
13
+ export {
14
+ c as PricingOfferingsSection
15
+ };
@@ -0,0 +1,25 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
5
+
6
+ export declare const PricingPlanCard: FC<PricingPlanCardProps>;
7
+
8
+ export declare interface PricingPlanCardProps {
9
+ variant: PricingPlanVariant;
10
+ title: string;
11
+ subtitle: string;
12
+ items: ReactNode[];
13
+ highlight?: ReactNode;
14
+ cta?: {
15
+ label: string;
16
+ buttonVariant: ButtonVariant;
17
+ };
18
+ }
19
+
20
+ export declare type PricingPlanVariant = 'free' | 'trial' | 'premium';
21
+
22
+ export declare const PricingPremiumHighlight: FC;
23
+
24
+ export declare const PricingTrialHighlight: FC;
25
+
@@ -0,0 +1,61 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { Button as m } from "./Button.js";
3
+ const u = {
4
+ free: {
5
+ container: "bg-neutral-25",
6
+ chip: "bg-neutral-200 text-neutral-800",
7
+ bulletTone: "primary"
8
+ },
9
+ trial: {
10
+ container: "bg-neutral-25",
11
+ chip: "bg-neutral-200 text-neutral-800",
12
+ bulletTone: "primary"
13
+ },
14
+ premium: {
15
+ container: "bg-secondary-100",
16
+ chip: "bg-secondary-300 text-neutral-900",
17
+ bulletTone: "secondary"
18
+ }
19
+ }, p = (n) => /* @__PURE__ */ e(
20
+ "svg",
21
+ {
22
+ viewBox: "0 0 16 16",
23
+ fill: "none",
24
+ stroke: "currentColor",
25
+ strokeWidth: 2,
26
+ strokeLinecap: "round",
27
+ strokeLinejoin: "round",
28
+ ...n,
29
+ children: /* @__PURE__ */ e("path", { d: "M3 8.5 6.5 12 13 4" })
30
+ }
31
+ ), x = ({ children: n, tone: l }) => /* @__PURE__ */ t("li", { className: "flex items-start gap-3", children: [
32
+ /* @__PURE__ */ e("span", { className: `mt-1 inline-flex h-6 w-6 items-center justify-center rounded ${l === "secondary" ? "bg-secondary-200 text-secondary-700" : "bg-primary-100 text-primary-700"}`, children: /* @__PURE__ */ e(p, { className: "h-3.5 w-3.5" }) }),
33
+ /* @__PURE__ */ e("span", { className: "text-small text-neutral-800", children: n })
34
+ ] }), f = ({ variant: n, title: l, subtitle: s, items: i, highlight: o, cta: a }) => {
35
+ const r = u[n];
36
+ return /* @__PURE__ */ t("div", { className: `${r.container} flex h-full flex-col gap-6 rounded-2xl p-6`, children: [
37
+ /* @__PURE__ */ e("span", { className: `text-big w-fit rounded-lg px-4 py-2 font-bold ${r.chip}`, children: l }),
38
+ /* @__PURE__ */ e("p", { className: "text-medium font-bold text-neutral-800", children: s }),
39
+ /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-200" }),
40
+ /* @__PURE__ */ e("ul", { className: "flex flex-col gap-4", children: i.map((c, d) => /* @__PURE__ */ e(x, { tone: r.bulletTone, children: c }, `${l}-item-${d.toString()}`)) }),
41
+ o,
42
+ a ? /* @__PURE__ */ e(m, { size: "large", variant: a.buttonVariant, className: "text-medium w-full justify-center font-bold", children: a.label }) : null
43
+ ] });
44
+ }, y = () => /* @__PURE__ */ t("div", { className: "bg-primary-100 flex gap-3 rounded-xl p-4", children: [
45
+ /* @__PURE__ */ e("span", { className: "text-extra-small bg-primary-700 inline-flex items-center justify-center rounded px-2 py-1 font-bold text-white", children: "AI" }),
46
+ /* @__PURE__ */ t("p", { className: "text-small text-neutral-800", children: [
47
+ /* @__PURE__ */ e("span", { className: "font-bold", children: "AI-powered legal summaries and explanations." }),
48
+ " Get limited access to our innovative AI tools to quickly understand any legal document."
49
+ ] })
50
+ ] }), b = () => /* @__PURE__ */ t("div", { className: "bg-secondary-200 flex gap-3 rounded-xl p-4", children: [
51
+ /* @__PURE__ */ e("span", { className: "text-extra-small bg-secondary-500 inline-flex items-center justify-center rounded px-2 py-1 font-bold text-neutral-900", children: "AI" }),
52
+ /* @__PURE__ */ t("p", { className: "text-small text-neutral-900", children: [
53
+ /* @__PURE__ */ e("span", { className: "font-bold", children: "Unlimited access to our AI-powered summarization and explanation tools" }),
54
+ " to save you time and improve accuracy."
55
+ ] })
56
+ ] });
57
+ export {
58
+ f as PricingPlanCard,
59
+ b as PricingPremiumHighlight,
60
+ y as PricingTrialHighlight
61
+ };
@@ -0,0 +1,31 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
5
+
6
+ export interface PricingPlanCardProps {
7
+ variant: PricingPlanVariant;
8
+ title: string;
9
+ subtitle: string;
10
+ items: ReactNode[];
11
+ highlight?: ReactNode;
12
+ cta?: {
13
+ label: string;
14
+ buttonVariant: ButtonVariant;
15
+ };
16
+ }
17
+
18
+ export declare interface PricingPlanColumnProps {
19
+ plan: PricingPlanCardProps;
20
+ footnote?: string;
21
+ }
22
+
23
+ export declare const PricingPlansSection: FC<PricingPlansSectionProps>;
24
+
25
+ export declare interface PricingPlansSectionProps {
26
+ heading: string;
27
+ columns: PricingPlanColumnProps[];
28
+ }
29
+
30
+ export type PricingPlanVariant = 'free' | 'trial' | 'premium';
31
+
@@ -0,0 +1,12 @@
1
+ import { jsx as l, jsxs as c } from "react/jsx-runtime";
2
+ import { PricingPlanCard as i } from "./PricingPlanCard.js";
3
+ const s = ({ children: a, footnote: e }) => /* @__PURE__ */ c("div", { className: "flex flex-col gap-3", children: [
4
+ a,
5
+ e ? /* @__PURE__ */ l("p", { className: "text-extra-small px-1 text-neutral-600", children: e }) : null
6
+ ] }), m = ({ heading: a, columns: e }) => /* @__PURE__ */ l("section", { className: "bg-white px-6 py-12 md:px-12 lg:px-24", children: /* @__PURE__ */ c("div", { className: "mx-auto flex max-w-6xl flex-col gap-8", children: [
7
+ /* @__PURE__ */ l("h2", { className: "text-super-large text-center font-bold text-neutral-800", children: a }),
8
+ /* @__PURE__ */ l("div", { className: "grid gap-6 lg:grid-cols-3", children: e.map(({ plan: t, footnote: r }) => /* @__PURE__ */ l(s, { footnote: r, children: /* @__PURE__ */ l(i, { ...t }) }, t.title)) })
9
+ ] }) });
10
+ export {
11
+ m as PricingPlansSection
12
+ };
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare interface PricingSupportTeaserCard {
5
+ id: string;
6
+ icon: ReactNode;
7
+ content: ReactNode;
8
+ }
9
+
10
+ export declare const PricingSupportTeaserSection: FC<PricingSupportTeaserSectionProps>;
11
+
12
+ export declare interface PricingSupportTeaserSectionProps {
13
+ cards: PricingSupportTeaserCard[];
14
+ }
15
+
@@ -0,0 +1,8 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ const a = ({ cards: t }) => /* @__PURE__ */ e("section", { className: "bg-neutral-25 px-6 py-12 md:px-12 lg:px-24", children: /* @__PURE__ */ e("div", { className: "mx-auto grid w-full max-w-6xl gap-4 lg:grid-cols-2", children: t.map((i) => /* @__PURE__ */ l("div", { className: "flex items-start gap-4 rounded-2xl bg-white p-6", children: [
3
+ /* @__PURE__ */ e("div", { className: "bg-primary-100 text-primary-700 rounded-md p-3", children: i.icon }),
4
+ /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: i.content })
5
+ ] }, i.id)) }) });
6
+ export {
7
+ a as PricingSupportTeaserSection
8
+ };
@@ -0,0 +1,102 @@
1
+ import { FC } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yellow' | 'primary-white' | 'secondary-green' | 'secondary-yellow' | 'secondary-red' | 'secondary-black' | 'tertiary-bold' | 'tertiary-thin' | 'tertiary-icon' | 'tertiary-link' | 'icon-black' | 'icon-grey' | 'icon-mobile';
5
+
6
+ export interface FaqItemProps {
7
+ question: string;
8
+ answer: string;
9
+ showMoreText?: string;
10
+ collapsedButtonText?: string;
11
+ expandedButtonText?: string;
12
+ }
13
+
14
+ export interface FaqSectionProps {
15
+ title: string;
16
+ description: string;
17
+ faqItems: FaqItemProps[];
18
+ className?: string;
19
+ }
20
+
21
+ export interface PricingContactChannel {
22
+ id: string;
23
+ icon: ReactNode;
24
+ title: string;
25
+ description: string;
26
+ }
27
+
28
+ export interface PricingContactChannelsSectionProps {
29
+ title: string;
30
+ description: string;
31
+ channels: PricingContactChannel[];
32
+ }
33
+
34
+ export interface PricingHeroSectionProps {
35
+ eyebrow: string;
36
+ title: string;
37
+ titleClassName?: string;
38
+ image: ReactNode;
39
+ paragraphs: ReactNode[];
40
+ }
41
+
42
+ export interface PricingOfferingItem {
43
+ id: string;
44
+ icon: ReactNode;
45
+ title: string;
46
+ description: string;
47
+ }
48
+
49
+ export interface PricingOfferingsSectionProps {
50
+ heading: string;
51
+ items: PricingOfferingItem[];
52
+ }
53
+
54
+ export declare interface PricingPlanCardProps {
55
+ variant: PricingPlanVariant;
56
+ title: string;
57
+ subtitle: string;
58
+ items: ReactNode[];
59
+ highlight?: ReactNode;
60
+ cta?: {
61
+ label: string;
62
+ buttonVariant: ButtonVariant;
63
+ };
64
+ }
65
+
66
+ export interface PricingPlanColumnProps {
67
+ plan: PricingPlanCardProps;
68
+ footnote?: string;
69
+ }
70
+
71
+ export interface PricingPlansSectionProps {
72
+ heading: string;
73
+ columns: PricingPlanColumnProps[];
74
+ }
75
+
76
+ export declare type PricingPlanVariant = 'free' | 'trial' | 'premium';
77
+
78
+ export declare const PricingPremiumHighlight: FC;
79
+
80
+ export interface PricingSupportTeaserCard {
81
+ id: string;
82
+ icon: ReactNode;
83
+ content: ReactNode;
84
+ }
85
+
86
+ export interface PricingSupportTeaserSectionProps {
87
+ cards: PricingSupportTeaserCard[];
88
+ }
89
+
90
+ export declare const PricingTemplate: FC<PricingTemplateProps>;
91
+
92
+ export declare interface PricingTemplateProps {
93
+ hero: PricingHeroSectionProps;
94
+ plans: PricingPlansSectionProps;
95
+ support: PricingSupportTeaserSectionProps;
96
+ offerings: PricingOfferingsSectionProps;
97
+ contact: PricingContactChannelsSectionProps;
98
+ faq: FaqSectionProps;
99
+ }
100
+
101
+ export declare const PricingTrialHighlight: FC;
102
+
@@ -0,0 +1,21 @@
1
+ import { jsxs as c, jsx as i } from "react/jsx-runtime";
2
+ import { PricingPremiumHighlight as j, PricingTrialHighlight as w } from "./PricingPlanCard.js";
3
+ import { PricingHeroSection as l } from "./PricingHeroSection.js";
4
+ import { PricingPlansSection as a } from "./PricingPlansSection.js";
5
+ import { PricingSupportTeaserSection as g } from "./PricingSupportTeaserSection.js";
6
+ import { PricingOfferingsSection as p } from "./PricingOfferingsSection.js";
7
+ import { PricingContactChannelsSection as s } from "./PricingContactChannelsSection.js";
8
+ import { FaqSection as f } from "./FaqSection.js";
9
+ const H = ({ hero: r, plans: o, support: e, offerings: n, contact: m, faq: t }) => /* @__PURE__ */ c("main", { className: "flex w-full flex-1 flex-col bg-neutral-50", children: [
10
+ /* @__PURE__ */ i(l, { ...r }),
11
+ /* @__PURE__ */ i(a, { ...o }),
12
+ /* @__PURE__ */ i(g, { ...e }),
13
+ /* @__PURE__ */ i(p, { ...n }),
14
+ /* @__PURE__ */ i(s, { ...m }),
15
+ /* @__PURE__ */ i("section", { className: "bg-neutral-25 px-6 py-12 md:px-12 lg:px-24", children: /* @__PURE__ */ i("div", { className: "mx-auto max-w-6xl", children: /* @__PURE__ */ i(f, { ...t, className: "gap-6" }) }) })
16
+ ] });
17
+ export {
18
+ j as PricingPremiumHighlight,
19
+ H as PricingTemplate,
20
+ w as PricingTrialHighlight
21
+ };
@@ -799,6 +799,89 @@ export declare interface PreviewSectionProps {
799
799
  cta: ReactNode;
800
800
  }
801
801
 
802
+ export declare interface PricingContactChannel {
803
+ id: string;
804
+ icon: ReactNode;
805
+ title: string;
806
+ description: string;
807
+ }
808
+
809
+ export declare const PricingContactChannelsSection: FC<PricingContactChannelsSectionProps>;
810
+
811
+ export declare interface PricingContactChannelsSectionProps {
812
+ title: string;
813
+ description: string;
814
+ channels: PricingContactChannel[];
815
+ }
816
+
817
+ export declare const PricingHeroSection: FC<PricingHeroSectionProps>;
818
+
819
+ export declare interface PricingHeroSectionProps {
820
+ eyebrow: string;
821
+ title: string;
822
+ titleClassName?: string;
823
+ image: ReactNode;
824
+ paragraphs: ReactNode[];
825
+ }
826
+
827
+ export declare interface PricingOfferingItem {
828
+ id: string;
829
+ icon: ReactNode;
830
+ title: string;
831
+ description: string;
832
+ }
833
+
834
+ export declare const PricingOfferingsSection: FC<PricingOfferingsSectionProps>;
835
+
836
+ export declare interface PricingOfferingsSectionProps {
837
+ heading: string;
838
+ items: PricingOfferingItem[];
839
+ }
840
+
841
+ export declare const PricingPlanCard: FC<PricingPlanCardProps>;
842
+
843
+ export declare interface PricingPlanCardProps {
844
+ variant: PricingPlanVariant;
845
+ title: string;
846
+ subtitle: string;
847
+ items: ReactNode[];
848
+ highlight?: ReactNode;
849
+ cta?: {
850
+ label: string;
851
+ buttonVariant: ButtonVariant;
852
+ };
853
+ }
854
+
855
+ export declare interface PricingPlanColumnProps {
856
+ plan: PricingPlanCardProps;
857
+ footnote?: string;
858
+ }
859
+
860
+ export declare const PricingPlansSection: FC<PricingPlansSectionProps>;
861
+
862
+ export declare interface PricingPlansSectionProps {
863
+ heading: string;
864
+ columns: PricingPlanColumnProps[];
865
+ }
866
+
867
+ export declare type PricingPlanVariant = 'free' | 'trial' | 'premium';
868
+
869
+ export declare const PricingPremiumHighlight: FC;
870
+
871
+ export declare interface PricingSupportTeaserCard {
872
+ id: string;
873
+ icon: ReactNode;
874
+ content: ReactNode;
875
+ }
876
+
877
+ export declare const PricingSupportTeaserSection: FC<PricingSupportTeaserSectionProps>;
878
+
879
+ export declare interface PricingSupportTeaserSectionProps {
880
+ cards: PricingSupportTeaserCard[];
881
+ }
882
+
883
+ export declare const PricingTrialHighlight: FC;
884
+
802
885
  export declare const PrintIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
803
886
 
804
887
  export declare const PrivateIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;