@npm_leadtech/legal-contracts-ui 0.165.2 → 0.165.3

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.
@@ -3,70 +3,70 @@ import { Textarea as b } from "./Textarea.js";
3
3
  import { Checkbox as v } from "./Checkbox.js";
4
4
  import { ClearIcon as y } from "./ClearIcon.js";
5
5
  import { DoneIcon as w } from "./DoneIcon.js";
6
- import { Input as n } from "./Input.js";
6
+ import { Input as s } from "./Input.js";
7
7
  import { Select as j } from "./Select.js";
8
- import { Markdown as I } from "./Markdown.js";
9
- import { InfoIcon as S } from "./InfoIcon.js";
8
+ import { Markdown as k } from "./Markdown.js";
9
+ import { InfoIcon as I } from "./InfoIcon.js";
10
10
  import { Button as o } from "./Button.js";
11
- import { LinkWrapper as k } from "./LinkWrapper.js";
12
- const C = () => /* @__PURE__ */ e("div", { role: "status", "aria-live": "polite", className: "mt-6 flex items-center justify-center rounded py-6", children: /* @__PURE__ */ e("div", { className: "border-primary-500 h-[25px] w-[25px] animate-spin rounded-full border-3 border-t-transparent" }) }), L = ({ title: r, message: l, cta: i }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
11
+ import { LinkWrapper as S } from "./LinkWrapper.js";
12
+ const C = () => /* @__PURE__ */ e("div", { role: "status", "aria-live": "polite", className: "mt-6 flex items-center justify-center rounded py-6", children: /* @__PURE__ */ e("div", { className: "border-primary-500 h-[25px] w-[25px] animate-spin rounded-full border-3 border-t-transparent" }) }), q = ({ title: r, message: a, cta: l }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
13
13
  /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-2", children: [
14
14
  /* @__PURE__ */ e("div", { className: "bg-error-20 w-fit rounded-full p-3", children: /* @__PURE__ */ e(y, { width: 48, height: 48, fill: "var(--error-500)" }) }),
15
15
  /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-800", children: r }),
16
- /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: l })
16
+ /* @__PURE__ */ e("p", { "data-qa": "feedback-error-message", className: "text-medium text-neutral-800", children: a })
17
17
  ] }),
18
- /* @__PURE__ */ e(o, { ...i, variant: "primary-green" })
19
- ] }), B = ({ title: r, message: l, cta: i }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
18
+ /* @__PURE__ */ e(o, { ...l, variant: "primary-green" })
19
+ ] }), L = ({ title: r, message: a, cta: l }) => /* @__PURE__ */ t("div", { role: "status", "aria-live": "polite", className: "flex flex-col items-center justify-center gap-8 px-4 py-3", children: [
20
20
  /* @__PURE__ */ t("div", { className: "flex flex-col items-center gap-2", children: [
21
21
  /* @__PURE__ */ e("div", { className: "bg-primary-100 w-fit rounded-full p-3", children: /* @__PURE__ */ e(w, { width: 48, height: 48, fill: "var(--color-primary-500)" }) }),
22
22
  /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-800", children: r }),
23
- /* @__PURE__ */ e("p", { className: "text-medium text-neutral-800", children: l })
23
+ /* @__PURE__ */ e("p", { "data-qa": "feedback-success-message", className: "text-medium text-neutral-800", children: a })
24
24
  ] }),
25
- /* @__PURE__ */ e(k, { className: "w-fit", children: i })
25
+ /* @__PURE__ */ e(S, { className: "w-fit", children: l })
26
26
  ] }), G = ({
27
27
  title: r,
28
- subjectOptions: l,
29
- fullNameField: i,
28
+ subjectOptions: a,
29
+ fullNameField: l,
30
30
  emailField: m,
31
31
  referenceNumberField: d,
32
32
  subjectField: p,
33
33
  messageField: f,
34
- privacyField: s,
34
+ privacyField: c,
35
35
  requiredFieldsText: h,
36
- securityHint: x,
37
- status: a = "default",
38
- successFeedback: u,
39
- errorFeedback: N,
40
- onSubmit: g,
41
- button: c
36
+ securityHint: u,
37
+ status: i = "default",
38
+ successFeedback: x,
39
+ errorFeedback: g,
40
+ onSubmit: N,
41
+ button: n
42
42
  }) => /* @__PURE__ */ t("section", { className: "rounded-sm bg-white p-8 shadow-sm", children: [
43
43
  /* @__PURE__ */ t("div", { className: "space-y-4", children: [
44
44
  /* @__PURE__ */ e("p", { className: "text-big font-bold text-neutral-600", children: r }),
45
45
  /* @__PURE__ */ e("div", { className: "h-px w-full bg-neutral-200", "aria-hidden": "true" })
46
46
  ] }),
47
- a === "loading" && /* @__PURE__ */ e(C, {}),
48
- a === "error" && /* @__PURE__ */ e(L, { ...N }),
49
- a === "success" && /* @__PURE__ */ e(B, { ...u }),
50
- a === "default" && /* @__PURE__ */ t("form", { className: "mt-6 flex flex-col gap-6", noValidate: !0, onSubmit: g, children: [
51
- /* @__PURE__ */ e(n, { ...i, type: "text" }),
52
- /* @__PURE__ */ e(n, { ...m, type: "email" }),
53
- /* @__PURE__ */ e(n, { ...d }),
54
- /* @__PURE__ */ e(j, { ...p, options: l }),
47
+ i === "loading" && /* @__PURE__ */ e(C, {}),
48
+ i === "error" && /* @__PURE__ */ e(q, { ...g }),
49
+ i === "success" && /* @__PURE__ */ e(L, { ...x }),
50
+ i === "default" && /* @__PURE__ */ t("form", { className: "mt-6 flex flex-col gap-6", noValidate: !0, onSubmit: N, children: [
51
+ /* @__PURE__ */ e(s, { ...l, type: "text" }),
52
+ /* @__PURE__ */ e(s, { ...m, type: "email" }),
53
+ /* @__PURE__ */ e(s, { ...d }),
54
+ /* @__PURE__ */ e(j, { ...p, options: a }),
55
55
  /* @__PURE__ */ e(b, { ...f }),
56
56
  /* @__PURE__ */ e("p", { className: "text-medium text-neutral-600", children: h }),
57
- /* @__PURE__ */ e(v, { ...s, children: /* @__PURE__ */ e(I, { className: "text-medium [&_p:last-child]:mb-0", content: s.label }) }),
57
+ /* @__PURE__ */ e(v, { ...c, children: /* @__PURE__ */ e(k, { className: "text-medium [&_p:last-child]:mb-0", content: c.label }) }),
58
58
  /* @__PURE__ */ t(
59
59
  "div",
60
60
  {
61
61
  id: "security-hint",
62
62
  className: "text-small flex items-start gap-2 rounded bg-neutral-50 p-4 text-neutral-600",
63
63
  children: [
64
- /* @__PURE__ */ e(S, { width: 24, height: 24, "aria-hidden": "true" }),
65
- /* @__PURE__ */ e("p", { children: x })
64
+ /* @__PURE__ */ e(I, { width: 24, height: 24, "aria-hidden": "true" }),
65
+ /* @__PURE__ */ e("p", { children: u })
66
66
  ]
67
67
  }
68
68
  ),
69
- /* @__PURE__ */ e(o, { ...c, className: "w-fit self-center", type: "submit", children: c.children })
69
+ /* @__PURE__ */ e(o, { ...n, className: "w-fit self-center", type: "submit", children: n.children })
70
70
  ] })
71
71
  ] });
72
72
  export {
@@ -2,7 +2,7 @@ import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import { Button as m } from "./Button.js";
4
4
  import { Markdown as o } from "./Markdown.js";
5
- const n = ({ policyMessage: e, acceptButton: l }) => /* @__PURE__ */ t("aside", { className: "fixed bottom-0 left-0 z-9 w-full bg-neutral-900", children: /* @__PURE__ */ a("div", { className: "mx-auto flex w-full flex-col gap-6 p-6 md:flex-row md:items-center md:gap-10 md:py-6 xl:max-w-300 xl:px-0", children: [
5
+ const n = ({ policyMessage: e, acceptButton: l }) => /* @__PURE__ */ t("aside", { className: "fixed bottom-0 left-0 z-51 w-full bg-neutral-900", children: /* @__PURE__ */ a("div", { className: "mx-auto flex w-full flex-col gap-6 p-6 md:flex-row md:items-center md:gap-10 md:py-6 xl:max-w-300 xl:px-0", children: [
6
6
  /* @__PURE__ */ t(o, { className: "text-small text-white [&_p:last-child]:mb-0", variant: "cookies", content: e }),
7
7
  /* @__PURE__ */ t(m, { variant: "primary-yellow", className: "w-full text-nowrap md:w-fit", ...l })
8
8
  ] }) });
@@ -8,9 +8,10 @@ export type ButtonVariant = 'primary-green' | 'primary-darkgreen' | 'primary-yel
8
8
  export declare const CtaFeatureTag: FC<CtaFeatureTagProps>;
9
9
 
10
10
  export declare interface CtaFeatureTagProps {
11
- icon: string;
11
+ icon: ReactNode;
12
12
  text: string;
13
13
  className?: string;
14
+ variant?: 'primary' | 'white';
14
15
  }
15
16
 
16
17
  export declare const CtaSample: FC<CtaSampleProps>;
@@ -33,8 +34,6 @@ export declare interface CtaSectionProps {
33
34
  childrenClassName?: string;
34
35
  }
35
36
 
36
- export declare const CtaSummarizedTag: FC<CtaFeatureTagProps>;
37
-
38
37
  export type IconPosition = 'left' | 'right' | 'top';
39
38
 
40
39
  export interface LinkWrapperProps {
@@ -1,53 +1,48 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { LinkWrapper as c } from "./LinkWrapper.js";
3
- const x = ({
4
- title: a,
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import i from "clsx";
3
+ import { LinkWrapper as x } from "./LinkWrapper.js";
4
+ const g = ({
5
+ title: r,
5
6
  paragraph: l,
6
- cta: r,
7
- children: m,
7
+ cta: t,
8
+ children: a,
8
9
  className: s = "",
9
- contentClassName: i = "",
10
+ contentClassName: p = "",
10
11
  childrenClassName: d = "hidden lg:flex"
11
- }) => /* @__PURE__ */ e("section", { className: `flex w-full justify-center px-6 py-8 md:px-8 md:py-12 ${s}`, children: /* @__PURE__ */ t(
12
+ }) => /* @__PURE__ */ e("section", { className: `flex w-full justify-center px-6 py-8 md:px-8 md:py-12 ${s}`, children: /* @__PURE__ */ m(
12
13
  "div",
13
14
  {
14
- className: `bg-primary-50 mx-auto flex w-full max-w-6xl flex-col items-center rounded-[1.25rem] px-8 pt-8 pb-0 md:px-16 md:pt-12 md:pb-0 lg:flex-row lg:items-stretch lg:gap-20 xl:pr-20 xl:pl-16 ${i}`,
15
+ className: `bg-primary-50 mx-auto flex w-full max-w-6xl flex-col items-center rounded-[1.25rem] px-8 pt-8 pb-0 md:px-16 md:pt-12 md:pb-0 lg:flex-row lg:items-stretch lg:gap-20 xl:pr-20 xl:pl-16 ${p}`,
15
16
  children: [
16
- /* @__PURE__ */ t("div", { className: "flex flex-1 flex-col items-start justify-center gap-8 pb-8 md:pb-12 lg:pb-[3rem]", children: [
17
- /* @__PURE__ */ t("div", { className: "flex flex-col items-start gap-4", children: [
18
- /* @__PURE__ */ e("h2", { className: "text-primary-900 text-[28px] leading-[32px] font-bold tracking-tight", children: a }),
17
+ /* @__PURE__ */ m("div", { className: "flex flex-1 flex-col items-start justify-center gap-8 pb-8 md:pb-12 lg:pb-[3rem]", children: [
18
+ /* @__PURE__ */ m("div", { className: "flex flex-col items-start gap-4", children: [
19
+ /* @__PURE__ */ e("h2", { className: "text-primary-900 text-[28px] leading-[32px] font-bold tracking-tight", children: r }),
19
20
  !!l && /* @__PURE__ */ e("div", { className: "text-super-medium text-neutral-500", children: l })
20
21
  ] }),
21
- /* @__PURE__ */ e(c, { size: "large", variant: "primary-darkgreen", className: "bg-primary-700 px-4 py-2.5", ...r })
22
+ /* @__PURE__ */ e(x, { size: "large", variant: "primary-darkgreen", className: "bg-primary-700 px-4 py-2.5", ...t })
22
23
  ] }),
23
- !!m && /* @__PURE__ */ e("div", { className: `w-full justify-center lg:w-auto lg:items-end ${d}`, children: m })
24
+ !!a && /* @__PURE__ */ e("div", { className: `w-full justify-center lg:w-auto lg:items-end ${d}`, children: a })
24
25
  ]
25
26
  }
26
- ) }), o = ({ image: a, children: l, className: r = "" }) => /* @__PURE__ */ t("div", { className: `relative flex items-end ${r}`, children: [
27
- /* @__PURE__ */ e("div", { className: "[&_img]:rounded-t-[0.75rem] [&_img]:shadow-[0px_-2px_6px_0px_rgba(2,55,74,0.15)] md:[&_img]:max-w-[25rem] lg:[&_img]:max-h-[30rem]", children: a }),
27
+ ) }), f = ({ image: r, children: l, className: t = "" }) => /* @__PURE__ */ m("div", { className: `relative flex items-end ${t}`, children: [
28
+ /* @__PURE__ */ e("div", { className: "[&_img]:rounded-t-[0.75rem] [&_img]:shadow-[0px_-2px_6px_0px_rgba(2,55,74,0.15)] md:[&_img]:max-w-[25rem] lg:[&_img]:max-h-[30rem]", children: r }),
28
29
  l
29
- ] }), g = ({ icon: a, text: l, className: r = "" }) => /* @__PURE__ */ t(
30
+ ] }), u = ({ icon: r, text: l, className: t = "", variant: a = "primary" }) => /* @__PURE__ */ m(
30
31
  "div",
31
32
  {
32
- className: `bg-primary-50 border-primary-200 shadow-small absolute flex items-center justify-center gap-1 rounded-md border p-1 ${r}`,
33
+ className: i(
34
+ "shadow-small absolute flex items-center justify-center gap-1 rounded-md p-2",
35
+ a === "primary" ? "bg-primary-100" : "bg-primary-800",
36
+ t
37
+ ),
33
38
  children: [
34
- /* @__PURE__ */ e("img", { src: a, alt: "", role: "img", className: "h-4 w-4" }),
35
- /* @__PURE__ */ e("span", { className: "text-primary-900 text-small font-bold", children: l })
36
- ]
37
- }
38
- ), f = ({ icon: a, text: l, className: r = "" }) => /* @__PURE__ */ t(
39
- "div",
40
- {
41
- className: `shadow-small absolute flex items-center justify-center gap-1 rounded-md bg-neutral-50 p-2 ${r}`,
42
- children: [
43
- /* @__PURE__ */ e("img", { src: a, alt: "", role: "img", className: "h-5 w-5" }),
44
- /* @__PURE__ */ e("span", { className: "text-small text-primary-500", children: l })
39
+ r,
40
+ /* @__PURE__ */ e("span", { className: i("text-small", a === "primary" ? "text-primary-500" : "text-white"), children: l })
45
41
  ]
46
42
  }
47
43
  );
48
44
  export {
49
- f as CtaFeatureTag,
50
- o as CtaSample,
51
- x as CtaSection,
52
- g as CtaSummarizedTag
45
+ u as CtaFeatureTag,
46
+ f as CtaSample,
47
+ g as CtaSection
53
48
  };
@@ -29,15 +29,6 @@ export interface CategoriesSectionProps {
29
29
  cta: ReactNode;
30
30
  }
31
31
 
32
- export interface ContinueEditingBannerProps {
33
- latestApplicationInProgress?: LatestApplication;
34
- editFormClicked?: (latestApplication: LatestApplication) => void;
35
- token: string;
36
- tagLine: string;
37
- title: string;
38
- buttonLabel: string;
39
- }
40
-
41
32
  export interface FaqTeaserSectionProps {
42
33
  header: SectionHeadingProps;
43
34
  questions: {
@@ -79,8 +70,6 @@ export declare interface HomeTemplateProps {
79
70
  trust: TrustSectionProps;
80
71
  faqTeaser: FaqTeaserSectionProps;
81
72
  articles: BlogSectionProps;
82
- continueEditingBanner?: ContinueEditingBannerProps;
83
- continueEditingBannerSlot?: ReactNode;
84
73
  }
85
74
 
86
75
  export interface ItemProps {
@@ -93,20 +82,6 @@ export interface ItemProps {
93
82
  className?: string;
94
83
  }
95
84
 
96
- export interface LatestApplication {
97
- id: string;
98
- state?: string;
99
- link: string;
100
- lastStep?: number;
101
- continueFromHome?: boolean;
102
- form: {
103
- name: string;
104
- url: string;
105
- type: string;
106
- subType?: string;
107
- };
108
- }
109
-
110
85
  export interface LawGeniusSectionProps {
111
86
  title: string;
112
87
  content: string;
@@ -1,36 +1,32 @@
1
1
  import { jsxs as c, jsx as o } from "react/jsx-runtime";
2
2
  import "react";
3
- import { ContinueEditingBanner as n } from "./ContinueEditingBanner.js";
4
- import { HeroSection as S } from "./HeroSection.js";
5
- import { MoreTemplatesSection as x } from "./MoreTemplatesSection.js";
6
- import { ProcessSection as T } from "./ProcessSection.js";
7
- import { CategoriesSection as u } from "./CategoriesSection.js";
8
- import { TrustSection as b } from "./TrustSection.js";
9
- import { FaqTeaserSection as j } from "./FaqTeaserSection.js";
10
- import { BlogSection as C } from "./BlogSection.js";
11
- import { RatafiaSection as H } from "./RatafiaSection.js";
12
- const w = ({
13
- hero: e,
14
- moreTemplates: i,
15
- process: p,
3
+ import { HeroSection as n } from "./HeroSection.js";
4
+ import { MoreTemplatesSection as f } from "./MoreTemplatesSection.js";
5
+ import { ProcessSection as l } from "./ProcessSection.js";
6
+ import { CategoriesSection as S } from "./CategoriesSection.js";
7
+ import { TrustSection as x } from "./TrustSection.js";
8
+ import { FaqTeaserSection as T } from "./FaqTeaserSection.js";
9
+ import { BlogSection as b } from "./BlogSection.js";
10
+ import { RatafiaSection as g } from "./RatafiaSection.js";
11
+ const M = ({
12
+ hero: t,
13
+ moreTemplates: m,
14
+ process: e,
16
15
  categories: r,
17
- ratafia: s,
18
- trust: f,
19
- faqTeaser: a,
20
- articles: l,
21
- continueEditingBanner: m,
22
- continueEditingBannerSlot: t
16
+ ratafia: i,
17
+ trust: p,
18
+ faqTeaser: s,
19
+ articles: a
23
20
  }) => /* @__PURE__ */ c("main", { className: "flex-1", children: [
24
- t ?? (m != null && /* @__PURE__ */ o(n, { ...m })),
25
- /* @__PURE__ */ o(S, { ...e }),
26
- /* @__PURE__ */ o(x, { ...i }),
27
- /* @__PURE__ */ o(T, { ...p }),
28
- r && /* @__PURE__ */ o(u, { ...r }),
29
- /* @__PURE__ */ o(H, { ...s }),
30
- /* @__PURE__ */ o(b, { ...f }),
31
- /* @__PURE__ */ o(j, { ...a }),
32
- /* @__PURE__ */ o(C, { className: "pt-10 pb-12 lg:pb-14", ...l })
21
+ /* @__PURE__ */ o(n, { ...t }),
22
+ /* @__PURE__ */ o(f, { ...m }),
23
+ /* @__PURE__ */ o(l, { ...e }),
24
+ r && /* @__PURE__ */ o(S, { ...r }),
25
+ /* @__PURE__ */ o(g, { ...i }),
26
+ /* @__PURE__ */ o(x, { ...p }),
27
+ /* @__PURE__ */ o(T, { ...s }),
28
+ /* @__PURE__ */ o(b, { className: "pt-10 pb-12 lg:pb-14", ...a })
33
29
  ] });
34
30
  export {
35
- w as HomeTemplate
31
+ M as HomeTemplate
36
32
  };
@@ -30,6 +30,7 @@ export declare interface PreformProps {
30
30
  radioFieldData?: RadioFieldData;
31
31
  inputFieldData?: InputFieldData;
32
32
  tooltips: TooltipsProps[];
33
+ hasMobileRadioField?: boolean;
33
34
  }
34
35
 
35
36
  export declare type RadioFieldData = {
@@ -1,13 +1,20 @@
1
1
  "use client";
2
2
  import { jsxs as c, Fragment as x, jsx as e } from "react/jsx-runtime";
3
3
  import "react";
4
- import { Tooltips as n } from "./Tooltips.js";
5
- import { PreformMobile as a } from "./PreformMobile.js";
6
- import { PreformOption as f } from "./PreformOption.js";
4
+ import { Tooltips as a } from "./Tooltips.js";
5
+ import { PreformMobile as f } from "./PreformMobile.js";
7
6
  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: p }) => /* @__PURE__ */ c(x, { children: [
7
+ import { PreformOption as h } from "./PreformOption.js";
8
+ import { Input as t } from "./Input.js";
9
+ import { LinkWrapper as g } from "./LinkWrapper.js";
10
+ const C = ({
11
+ trustedBadge: s,
12
+ cta: o,
13
+ inputFieldData: l,
14
+ radioFieldData: m,
15
+ tooltips: p,
16
+ hasMobileRadioField: n
17
+ }) => /* @__PURE__ */ c(x, { children: [
11
18
  /* @__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
19
  /* @__PURE__ */ e(i, { ...s }),
13
20
  m?.isVisible && /* @__PURE__ */ c(x, { children: [
@@ -18,7 +25,7 @@ const k = ({ trustedBadge: s, cta: o, inputFieldData: l, radioFieldData: m, tool
18
25
  {
19
26
  className: "w-[calc(50%-4px)] sm:w-[calc(25%-12px)] lg:w-[calc(20%-13px)] xl:w-[calc(16.66%-14px)]",
20
27
  children: /* @__PURE__ */ e(
21
- f,
28
+ h,
22
29
  {
23
30
  ...r,
24
31
  selected: r.value === m.radioSelected,
@@ -29,7 +36,7 @@ const k = ({ trustedBadge: s, cta: o, inputFieldData: l, radioFieldData: m, tool
29
36
  r.value
30
37
  )),
31
38
  l?.isVisible && /* @__PURE__ */ e("div", { className: "mt-4 flex basis-full justify-center md:mt-0", children: /* @__PURE__ */ e(
32
- h,
39
+ t,
33
40
  {
34
41
  id: l.id,
35
42
  label: l.label,
@@ -42,19 +49,20 @@ const k = ({ trustedBadge: s, cta: o, inputFieldData: l, radioFieldData: m, tool
42
49
  ) }, l.name)
43
50
  ] })
44
51
  ] }),
45
- /* @__PURE__ */ e(t, { variant: "primary-green", children: o }),
46
- p.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: p.map((r) => /* @__PURE__ */ e(n, { ...r }, r.title)) })
52
+ /* @__PURE__ */ e(g, { variant: "primary-green", children: o }),
53
+ p.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: p.map((r) => /* @__PURE__ */ e(a, { ...r }, r.title)) })
47
54
  ] }) }),
48
55
  /* @__PURE__ */ e(
49
- a,
56
+ f,
50
57
  {
51
58
  cta: o,
52
59
  trustedBadge: s,
53
60
  inputFieldData: l,
54
- radioFieldData: m
61
+ radioFieldData: m,
62
+ hasMobileRadioField: n
55
63
  }
56
64
  )
57
65
  ] });
58
66
  export {
59
- k as Preform
67
+ C as Preform
60
68
  };
@@ -19,6 +19,7 @@ export declare interface PreformMobileProps {
19
19
  radioFieldData?: RadioFieldData;
20
20
  inputFieldData?: InputFieldData;
21
21
  cta: ReactNode;
22
+ hasMobileRadioField?: boolean;
22
23
  }
23
24
 
24
25
  export interface PreformOptionProps {
@@ -1,53 +1,71 @@
1
- import { jsxs as o, Fragment as d, jsx as l } from "react/jsx-runtime";
2
- import { useState as x, useRef as v, useEffect as u } from "react";
3
- import { TrustedBadge as g } from "./TrustedBadge.js";
4
- import { Select as w } from "./Select.js";
5
- import { Input as f } from "./Input.js";
6
- import { LinkWrapper as N } from "./LinkWrapper.js";
7
- const y = ({ radioFieldData: r, inputFieldData: e, cta: h, trustedBadge: a }) => {
8
- const [m, b] = x(!1), c = v(null);
9
- u(() => {
10
- const s = c.current;
11
- if (!s) return;
12
- const n = new IntersectionObserver(
13
- ([i]) => {
14
- b(!i.isIntersecting);
1
+ import { jsxs as c, Fragment as v, jsx as l } from "react/jsx-runtime";
2
+ import { useState as w, useRef as p, useEffect as g } from "react";
3
+ import { TrustedBadge as N } from "./TrustedBadge.js";
4
+ import { Input as a } from "./Input.js";
5
+ import { PreformOption as C } from "./PreformOption.js";
6
+ import { Select as $ } from "./Select.js";
7
+ import { LinkWrapper as I } from "./LinkWrapper.js";
8
+ const R = ({
9
+ radioFieldData: r,
10
+ inputFieldData: e,
11
+ cta: d,
12
+ trustedBadge: i,
13
+ hasMobileRadioField: t
14
+ }) => {
15
+ const [f, u] = w(!1), h = p(null);
16
+ g(() => {
17
+ const n = h.current;
18
+ if (!n) return;
19
+ const s = new IntersectionObserver(
20
+ ([m]) => {
21
+ u(!m.isIntersecting);
15
22
  },
16
23
  { threshold: 0 }
17
24
  );
18
- return n.observe(s), () => {
19
- n.disconnect();
25
+ return s.observe(n), () => {
26
+ s.disconnect();
20
27
  };
21
28
  }, []);
22
- const t = (s) => /* @__PURE__ */ o(
29
+ const x = (n) => {
30
+ if (!r?.isVisible) return null;
31
+ const s = t && !n, m = `${r.name}-${n ? "sticky" : "mobile"}`;
32
+ return s ? /* @__PURE__ */ l("div", { className: "flex w-full flex-wrap justify-center gap-2", children: r.options.map((o) => /* @__PURE__ */ l("div", { className: "w-[calc(50%-4px)]", children: /* @__PURE__ */ l(
33
+ C,
34
+ {
35
+ ...o,
36
+ selected: o.value === r.radioSelected,
37
+ onClick: r.onClick
38
+ }
39
+ ) }, o.value)) }) : /* @__PURE__ */ l(
40
+ $,
41
+ {
42
+ id: m,
43
+ name: r.name,
44
+ value: r.radioSelected,
45
+ options: r.options,
46
+ containerClassName: "w-full",
47
+ onChange: (o) => {
48
+ r.onClick(o.target.value);
49
+ }
50
+ }
51
+ );
52
+ }, b = (n) => /* @__PURE__ */ c(
23
53
  "div",
24
54
  {
25
- className: `flex flex-col bg-white px-6 pb-4 ${s ? "border-t border-neutral-100 pt-4 shadow-md" : ""}`,
55
+ className: `flex flex-col bg-white px-6 pb-4 ${n ? "border-t border-neutral-100 pt-4 shadow-md" : ""}`,
26
56
  children: [
27
- /* @__PURE__ */ l(
57
+ t && !n ? /* @__PURE__ */ l("p", { className: "text-small mb-4 font-bold text-neutral-800", children: r?.label }) : /* @__PURE__ */ l(
28
58
  "label",
29
59
  {
30
- htmlFor: `${r?.name ?? ""}-${s ? "sticky" : "mobile"}`,
60
+ htmlFor: `${r?.name ?? ""}-${n ? "sticky" : "mobile"}`,
31
61
  className: "text-small mb-4 font-bold text-neutral-800",
32
62
  children: r?.label
33
63
  }
34
64
  ),
35
- /* @__PURE__ */ o("div", { className: `flex gap-4 ${s ? "flex-row items-center" : "flex-col"}`, children: [
36
- r?.isVisible && /* @__PURE__ */ l(
37
- w,
38
- {
39
- id: `${r.name}-${s ? "sticky" : "mobile"}`,
40
- name: r.name,
41
- value: r.radioSelected,
42
- options: r.options,
43
- containerClassName: "w-full",
44
- onChange: (n) => {
45
- r.onClick(n.target.value);
46
- }
47
- }
48
- ),
49
- e?.isVisible && !s && /* @__PURE__ */ l("div", { className: "flex justify-center", children: /* @__PURE__ */ l(
50
- f,
65
+ /* @__PURE__ */ c("div", { className: `flex gap-4 ${n ? "flex-row items-center" : "flex-col"}`, children: [
66
+ x(n),
67
+ e?.isVisible && !n && /* @__PURE__ */ l("div", { className: "flex justify-center", children: /* @__PURE__ */ l(
68
+ a,
51
69
  {
52
70
  containerClassName: "w-full text-small",
53
71
  id: `${e.id}-mobile`,
@@ -58,10 +76,10 @@ const y = ({ radioFieldData: r, inputFieldData: e, cta: h, trustedBadge: a }) =>
58
76
  onInputChange: e.onChange
59
77
  }
60
78
  ) }, e.name),
61
- /* @__PURE__ */ l(N, { variant: "primary-green", className: `text-small ${s ? "w-fit text-nowrap" : "w-full"}`, children: h })
79
+ /* @__PURE__ */ l(I, { variant: "primary-green", className: `text-small ${n ? "w-fit text-nowrap" : "w-full"}`, children: d })
62
80
  ] }),
63
- e?.isVisible && s && /* @__PURE__ */ l("div", { className: "mt-4 flex w-full justify-center", children: /* @__PURE__ */ l(
64
- f,
81
+ e?.isVisible && n && /* @__PURE__ */ l("div", { className: "mt-4 flex w-full justify-center", children: /* @__PURE__ */ l(
82
+ a,
65
83
  {
66
84
  containerClassName: "w-full text-small",
67
85
  id: `${e.id}-mobile-sticky`,
@@ -75,14 +93,14 @@ const y = ({ radioFieldData: r, inputFieldData: e, cta: h, trustedBadge: a }) =>
75
93
  ]
76
94
  }
77
95
  );
78
- return /* @__PURE__ */ o(d, { children: [
79
- /* @__PURE__ */ l("section", { className: "bg-neutral-25 pt-10 text-neutral-800 sm:hidden", children: /* @__PURE__ */ o("div", { ref: c, className: "relative flex flex-col rounded bg-white pt-8 shadow", children: [
80
- /* @__PURE__ */ l("div", { className: "px-6", children: /* @__PURE__ */ l(g, { ...a }) }),
81
- /* @__PURE__ */ l("div", { className: m ? "hidden" : "block", children: t(!1) })
96
+ return /* @__PURE__ */ c(v, { children: [
97
+ /* @__PURE__ */ l("section", { className: "bg-neutral-25 pt-10 text-neutral-800 sm:hidden", children: /* @__PURE__ */ c("div", { ref: h, className: "relative flex flex-col rounded bg-white pt-8 shadow", children: [
98
+ /* @__PURE__ */ l("div", { className: "px-6", children: /* @__PURE__ */ l(N, { ...i }) }),
99
+ /* @__PURE__ */ l("div", { className: f ? "hidden" : "block", children: b(!1) })
82
100
  ] }) }),
83
- m && /* @__PURE__ */ l("div", { className: "fixed bottom-0 left-0 z-50 w-full sm:hidden", children: t(!0) })
101
+ f && /* @__PURE__ */ l("div", { className: "fixed bottom-0 left-0 z-50 w-full sm:hidden", children: b(!0) })
84
102
  ] });
85
103
  };
86
104
  export {
87
- y as PreformMobile
105
+ R as PreformMobile
88
106
  };
@@ -129,6 +129,7 @@ export interface PreformProps {
129
129
  radioFieldData?: RadioFieldData;
130
130
  inputFieldData?: InputFieldData;
131
131
  tooltips: TooltipsProps[];
132
+ hasMobileRadioField?: boolean;
132
133
  }
133
134
 
134
135
  export interface PreviewDownloadProps {
@@ -1,11 +1,11 @@
1
- import { jsxs as o, jsx as m } from "react/jsx-runtime";
1
+ import { jsxs as r, jsx as m } from "react/jsx-runtime";
2
2
  import { Jumbotron as u } from "./Jumbotron.js";
3
3
  import { JumboDocs as g } from "./JumboDocs.js";
4
4
  import { Preform as h } from "./Preform.js";
5
5
  import { ProductInfo as N } from "./ProductInfo.js";
6
6
  import { BenefitsBar as b } from "./BenefitsBar.js";
7
- import { Breadcrumb as P } from "./Breadcrumb.js";
8
- import { TableOfContents as v } from "./TableOfContents.js";
7
+ import { Breadcrumb as v } from "./Breadcrumb.js";
8
+ import { TableOfContents as P } from "./TableOfContents.js";
9
9
  import { ContentItem as B } from "./ContentItem.js";
10
10
  import { FaqSection as T } from "./FaqSection.js";
11
11
  import { PreviewDownload as k } from "./PreviewDownload.js";
@@ -14,10 +14,10 @@ import { TryNowSection as F } from "./TryNowSection.js";
14
14
  import { FreeDocumentModal as I } from "./FreeDocumentModal.js";
15
15
  const M = ({
16
16
  jumbotron: p,
17
- jumboDocs: r,
17
+ jumboDocs: o,
18
18
  preform: t,
19
- productInfo: f,
20
- benefitsBar: n,
19
+ productInfo: n,
20
+ benefitsBar: f,
21
21
  breadcrumb: s,
22
22
  tableOfContents: c,
23
23
  contentItems: x,
@@ -25,27 +25,27 @@ const M = ({
25
25
  previewDownload: w,
26
26
  previewSection: e,
27
27
  tryNowSection: l,
28
- freeDocModal: i
29
- }) => /* @__PURE__ */ o("main", { className: "min-w-0 flex-1", children: [
28
+ freeDocModal: a
29
+ }) => /* @__PURE__ */ r("main", { className: "min-w-0 flex-1", children: [
30
30
  /* @__PURE__ */ m(u, { ...p }),
31
- r && /* @__PURE__ */ m(g, { ...r }),
31
+ o && /* @__PURE__ */ m(g, { ...o }),
32
32
  t && /* @__PURE__ */ m(h, { ...t }),
33
- /* @__PURE__ */ m(N, { ...f }),
34
- /* @__PURE__ */ m(b, { ...n }),
35
- /* @__PURE__ */ m("section", { className: "px-4 pt-6 pb-10 text-neutral-800 md:px-6 lg:px-8 xl:px-30", children: /* @__PURE__ */ o("div", { className: "mx-auto flex w-full max-w-300 flex-col gap-6", children: [
36
- /* @__PURE__ */ m(P, { ...s }),
37
- /* @__PURE__ */ o("div", { className: "flex w-full min-w-0 items-start md:gap-4 lg:gap-26.5 xl:gap-31", children: [
38
- /* @__PURE__ */ o("div", { className: "flex w-full max-w-100 min-w-0 flex-col gap-8 lg:max-w-137.5 xl:max-w-172.5", children: [
39
- /* @__PURE__ */ m(v, { ...c }),
40
- x.map((a) => /* @__PURE__ */ m(B, { ...a }, a.id)),
41
- /* @__PURE__ */ m(T, { ...d })
33
+ /* @__PURE__ */ m(N, { ...n }),
34
+ /* @__PURE__ */ m(b, { ...f }),
35
+ /* @__PURE__ */ m("section", { className: "px-4 pt-6 pb-10 text-neutral-800 md:px-6 lg:px-8 xl:px-30", children: /* @__PURE__ */ r("div", { className: "mx-auto flex w-full max-w-300 flex-col gap-6", children: [
36
+ /* @__PURE__ */ m(v, { ...s }),
37
+ /* @__PURE__ */ r("div", { className: "flex w-full min-w-0 items-start md:gap-4 lg:gap-26.5 xl:gap-31", children: [
38
+ /* @__PURE__ */ r("div", { className: "flex w-full max-w-100 min-w-0 flex-col gap-8 lg:max-w-137.5 xl:max-w-172.5", children: [
39
+ /* @__PURE__ */ m(P, { ...c }),
40
+ x.map((i) => /* @__PURE__ */ m(B, { ...i }, i.id)),
41
+ /* @__PURE__ */ m(T, { ...d, variant: "legal" })
42
42
  ] }),
43
43
  /* @__PURE__ */ m("aside", { className: "sticky top-20 hidden pt-4 md:block", children: /* @__PURE__ */ m(k, { ...w }) })
44
44
  ] })
45
45
  ] }) }),
46
46
  e && /* @__PURE__ */ m(C, { ...e }),
47
47
  l && /* @__PURE__ */ m(F, { ...l }),
48
- i && /* @__PURE__ */ m(I, { ...i })
48
+ a && /* @__PURE__ */ m(I, { ...a })
49
49
  ] });
50
50
  export {
51
51
  M as ProductTemplate
@@ -18,8 +18,8 @@ const u = {
18
18
  icon: /* @__PURE__ */ e(l, { fill: "white", width: 24, height: 24 }),
19
19
  bg: "bg-neutral-500"
20
20
  }
21
- }, v = ({ show: i, title: s, message: c, type: a = "default", onClose: d }) => {
22
- const [t, n] = h(i), o = u[a];
21
+ }, v = ({ show: i, title: s, message: a, type: c = "default", onClose: d }) => {
22
+ const [t, n] = h(i), o = u[c];
23
23
  i && !t && n(!0);
24
24
  const m = () => {
25
25
  i || n(!1);
@@ -37,7 +37,7 @@ const u = {
37
37
  /* @__PURE__ */ e("div", { className: "shrink-0", children: o.icon }),
38
38
  /* @__PURE__ */ r("div", { className: "flex grow flex-col text-sm text-white", children: [
39
39
  /* @__PURE__ */ e("p", { className: "font-bold", children: s }),
40
- /* @__PURE__ */ e("p", { children: c })
40
+ /* @__PURE__ */ e("p", { "data-qa": "toast-message", children: a })
41
41
  ] }),
42
42
  /* @__PURE__ */ e("button", { onClick: d, className: "cursor-pointer", children: /* @__PURE__ */ e(p, { fill: "white", className: "h-4 w-4" }) })
43
43
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npm_leadtech/legal-contracts-ui",
3
- "version": "0.165.2",
3
+ "version": "0.165.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -294,10 +294,6 @@
294
294
  "import": "./dist/components/ContentItem.js",
295
295
  "types": "./dist/components/ContentItem.d.ts"
296
296
  },
297
- "./components/ContinueEditingBanner": {
298
- "import": "./dist/components/ContinueEditingBanner.js",
299
- "types": "./dist/components/ContinueEditingBanner.d.ts"
300
- },
301
297
  "./components/CookiesBar": {
302
298
  "import": "./dist/components/CookiesBar.js",
303
299
  "types": "./dist/components/CookiesBar.d.ts"
@@ -1,27 +0,0 @@
1
- import { FC } from 'react';
2
-
3
- export declare const ContinueEditingBanner: FC<ContinueEditingBannerProps>;
4
-
5
- export declare interface ContinueEditingBannerProps {
6
- latestApplicationInProgress?: LatestApplication;
7
- editFormClicked?: (latestApplication: LatestApplication) => void;
8
- token: string;
9
- tagLine: string;
10
- title: string;
11
- buttonLabel: string;
12
- }
13
-
14
- export declare interface LatestApplication {
15
- id: string;
16
- state?: string;
17
- link: string;
18
- lastStep?: number;
19
- continueFromHome?: boolean;
20
- form: {
21
- name: string;
22
- url: string;
23
- type: string;
24
- subType?: string;
25
- };
26
- }
27
-
@@ -1,31 +0,0 @@
1
- "use client";
2
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
3
- import "react";
4
- import { Button as m } from "./Button.js";
5
- const u = ({
6
- latestApplicationInProgress: t,
7
- editFormClicked: n,
8
- tagLine: r,
9
- title: a,
10
- token: s,
11
- buttonLabel: i
12
- }) => t == null || s.length === 0 ? null : /* @__PURE__ */ e("div", { className: "bg-primary-50 px-ds-sm py-0", children: /* @__PURE__ */ l("div", { className: "gap-ds-sm bg-neutral-white p-ds-lg flex flex-col items-center rounded-sm text-center", children: [
13
- /* @__PURE__ */ l("div", { className: "gap-ds-2xs flex flex-col", children: [
14
- /* @__PURE__ */ e("span", { className: "font-lora text-large text-primary-800 lg:text-super-large", children: a }),
15
- /* @__PURE__ */ e("span", { className: "text-medium text-neutral-600", children: r })
16
- ] }),
17
- /* @__PURE__ */ e(
18
- m,
19
- {
20
- "data-qa": "continue-editing-banner-button",
21
- className: "lg:w-auto",
22
- onClick: () => {
23
- n?.(t);
24
- },
25
- children: i
26
- }
27
- )
28
- ] }) });
29
- export {
30
- u as ContinueEditingBanner
31
- };