@opensite/ui 2.0.5 → 2.0.7
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/hero-adaptable-product-grid.cjs +11 -8
- package/dist/hero-adaptable-product-grid.d.cts +1 -1
- package/dist/hero-adaptable-product-grid.d.ts +1 -1
- package/dist/hero-adaptable-product-grid.js +11 -8
- package/dist/hero-business-operations-mosaic.cjs +542 -22
- package/dist/hero-business-operations-mosaic.d.cts +20 -8
- package/dist/hero-business-operations-mosaic.d.ts +20 -8
- package/dist/hero-business-operations-mosaic.js +542 -19
- package/dist/hero-centered-gradient-cta.cjs +3 -3
- package/dist/hero-centered-gradient-cta.js +3 -3
- package/dist/hero-community-survey-cta.cjs +3 -2
- package/dist/hero-community-survey-cta.js +3 -2
- package/dist/hero-conversion-video-play.cjs +1 -1
- package/dist/hero-conversion-video-play.js +1 -1
- package/dist/hero-crm-streamlined.cjs +4 -4
- package/dist/hero-crm-streamlined.js +4 -4
- package/dist/hero-design-showcase-logos.cjs +4 -1
- package/dist/hero-design-showcase-logos.js +4 -1
- package/dist/hero-design-system-3d.cjs +1 -1
- package/dist/hero-design-system-3d.js +1 -1
- package/dist/hero-feature-cards-grid.cjs +2 -2
- package/dist/hero-feature-cards-grid.js +2 -2
- package/dist/hero-fullscreen-background-image.cjs +4 -3
- package/dist/hero-fullscreen-background-image.js +4 -3
- package/dist/hero-fullscreen-logo-cta.cjs +7 -5
- package/dist/hero-fullscreen-logo-cta.js +7 -5
- package/dist/hero-gradient-avatars-rating.cjs +3 -3
- package/dist/hero-gradient-avatars-rating.js +3 -3
- package/dist/hero-gradient-client-focused.cjs +2 -2
- package/dist/hero-gradient-client-focused.js +2 -2
- package/dist/hero-grid-pattern-solutions.cjs +2 -2
- package/dist/hero-grid-pattern-solutions.d.cts +1 -1
- package/dist/hero-grid-pattern-solutions.d.ts +1 -1
- package/dist/hero-grid-pattern-solutions.js +2 -2
- package/dist/hero-innovation-image-grid.cjs +48 -42
- package/dist/hero-innovation-image-grid.js +48 -42
- package/dist/hero-mental-health-team.cjs +633 -89
- package/dist/hero-mental-health-team.d.cts +26 -6
- package/dist/hero-mental-health-team.d.ts +26 -6
- package/dist/hero-mental-health-team.js +614 -85
- package/dist/hero-minimal-centered-dark.cjs +841 -807
- package/dist/hero-minimal-centered-dark.d.cts +1 -1
- package/dist/hero-minimal-centered-dark.d.ts +1 -1
- package/dist/hero-minimal-centered-dark.js +840 -806
- package/dist/hero-presentation-platform-video.cjs +8 -2
- package/dist/hero-presentation-platform-video.js +8 -2
- package/dist/hero-product-showcase-floating.cjs +715 -612
- package/dist/hero-product-showcase-floating.d.cts +5 -1
- package/dist/hero-product-showcase-floating.d.ts +5 -1
- package/dist/hero-product-showcase-floating.js +712 -609
- package/dist/hero-saas-dashboard-preview.cjs +82 -107
- package/dist/hero-saas-dashboard-preview.d.cts +1 -1
- package/dist/hero-saas-dashboard-preview.d.ts +1 -1
- package/dist/hero-saas-dashboard-preview.js +82 -107
- package/dist/hero-software-growth-video-dialog.cjs +5 -5
- package/dist/hero-software-growth-video-dialog.js +5 -5
- package/dist/hero-split-image-newsletter.cjs +41 -32
- package/dist/hero-split-image-newsletter.js +41 -32
- package/dist/hero-stats-social-proof.cjs +1 -1
- package/dist/hero-stats-social-proof.js +1 -1
- package/dist/hero-testimonial-image-grid.cjs +2 -2
- package/dist/hero-testimonial-image-grid.js +2 -2
- package/dist/hero-therapy-testimonial-grid.cjs +682 -638
- package/dist/hero-therapy-testimonial-grid.d.cts +5 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +5 -1
- package/dist/hero-therapy-testimonial-grid.js +671 -627
- package/dist/hero-ui-library-showcase.cjs +51 -42
- package/dist/hero-ui-library-showcase.js +51 -42
- package/dist/hero-video-dialog-gradient.cjs +2 -2
- package/dist/hero-video-dialog-gradient.js +2 -2
- package/dist/hero-video-overlay-stars.cjs +7 -15
- package/dist/hero-video-overlay-stars.js +7 -15
- package/dist/registry.cjs +608 -438
- package/dist/registry.js +608 -438
- package/package.json +1 -1
|
@@ -33,66 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
33
33
|
function cn(...inputs) {
|
|
34
34
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
35
35
|
}
|
|
36
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
37
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
38
|
-
if (isDark) {
|
|
39
|
-
switch (variant) {
|
|
40
|
-
case "muted":
|
|
41
|
-
return "bg-background";
|
|
42
|
-
case "card":
|
|
43
|
-
return "bg-card";
|
|
44
|
-
case "accent":
|
|
45
|
-
return "bg-accent";
|
|
46
|
-
case "subtle":
|
|
47
|
-
return "bg-background/50";
|
|
48
|
-
}
|
|
49
|
-
} else {
|
|
50
|
-
switch (variant) {
|
|
51
|
-
case "muted":
|
|
52
|
-
return "bg-muted";
|
|
53
|
-
case "card":
|
|
54
|
-
return "bg-card";
|
|
55
|
-
case "accent":
|
|
56
|
-
return "bg-accent";
|
|
57
|
-
case "subtle":
|
|
58
|
-
return "bg-muted/50";
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function getNestedCardTextColor(parentBg, options) {
|
|
63
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
64
|
-
return isDark ? "text-foreground" : "";
|
|
65
|
-
}
|
|
66
|
-
function getTextColor(parentBg, variant = "default", options) {
|
|
67
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
68
|
-
if (isDark) {
|
|
69
|
-
switch (variant) {
|
|
70
|
-
case "default":
|
|
71
|
-
return "text-foreground";
|
|
72
|
-
case "muted":
|
|
73
|
-
return "text-foreground/80";
|
|
74
|
-
case "subtle":
|
|
75
|
-
return "text-foreground/60";
|
|
76
|
-
case "accent":
|
|
77
|
-
return "text-accent-foreground";
|
|
78
|
-
}
|
|
79
|
-
} else {
|
|
80
|
-
switch (variant) {
|
|
81
|
-
case "default":
|
|
82
|
-
return "text-foreground";
|
|
83
|
-
case "muted":
|
|
84
|
-
return "text-muted-foreground";
|
|
85
|
-
case "subtle":
|
|
86
|
-
return "text-muted-foreground/70";
|
|
87
|
-
case "accent":
|
|
88
|
-
return "text-primary";
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function getAccentColor(parentBg, options) {
|
|
93
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
94
|
-
return isDark ? "text-accent-foreground" : "text-primary";
|
|
95
|
-
}
|
|
96
36
|
function normalizePhoneNumber(input) {
|
|
97
37
|
const trimmed = input.trim();
|
|
98
38
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -917,11 +857,11 @@ function HeroSaasDashboardPreview({
|
|
|
917
857
|
browserPreview,
|
|
918
858
|
browserPreviewSlot,
|
|
919
859
|
background,
|
|
920
|
-
|
|
860
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
861
|
+
spacing = "xl",
|
|
921
862
|
pattern,
|
|
922
863
|
patternOpacity,
|
|
923
864
|
className,
|
|
924
|
-
containerClassName,
|
|
925
865
|
headerClassName,
|
|
926
866
|
headingClassName,
|
|
927
867
|
descriptionClassName,
|
|
@@ -930,21 +870,18 @@ function HeroSaasDashboardPreview({
|
|
|
930
870
|
}) {
|
|
931
871
|
const renderBadge = React.useMemo(() => {
|
|
932
872
|
if (badgeSlot) return badgeSlot;
|
|
933
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
934
|
-
"
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
),
|
|
946
|
-
badgeText && /* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
947
|
-
] });
|
|
873
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
874
|
+
"div",
|
|
875
|
+
{
|
|
876
|
+
className: cn(
|
|
877
|
+
"inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm bg-muted text-muted-foreground"
|
|
878
|
+
),
|
|
879
|
+
children: [
|
|
880
|
+
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
|
|
881
|
+
badgeText && /* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
882
|
+
]
|
|
883
|
+
}
|
|
884
|
+
);
|
|
948
885
|
}, [badgeSlot, badgeIcon, badgeText]);
|
|
949
886
|
const renderEmailForm = React.useMemo(() => {
|
|
950
887
|
if (emailFormSlot) return emailFormSlot;
|
|
@@ -970,39 +907,49 @@ function HeroSaasDashboardPreview({
|
|
|
970
907
|
}
|
|
971
908
|
)
|
|
972
909
|
] }) }),
|
|
973
|
-
emailForm.helperText && (typeof emailForm.helperText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
910
|
+
emailForm.helperText && (typeof emailForm.helperText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm", children: emailForm.helperText }) : emailForm.helperText)
|
|
974
911
|
] });
|
|
975
912
|
}, [emailFormSlot, emailForm]);
|
|
976
913
|
const renderBrowserPreview = React.useMemo(() => {
|
|
977
914
|
if (browserPreviewSlot) return browserPreviewSlot;
|
|
978
915
|
if (!browserPreview) return null;
|
|
979
916
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
|
|
980
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0
|
|
981
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
982
|
-
"
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
917
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 pointer-events-none" }),
|
|
918
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
919
|
+
"div",
|
|
920
|
+
{
|
|
921
|
+
className: cn(
|
|
922
|
+
"overflow-hidden rounded-xl border border-border shadow-2xl"
|
|
923
|
+
),
|
|
924
|
+
children: [
|
|
925
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
926
|
+
"div",
|
|
927
|
+
{
|
|
928
|
+
className: cn(
|
|
929
|
+
"flex items-center gap-2 border-b border-border px-4 py-3"
|
|
930
|
+
),
|
|
931
|
+
children: [
|
|
932
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1.5", children: [
|
|
933
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-destructive" }),
|
|
934
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-accent" }),
|
|
935
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-primary" })
|
|
936
|
+
] }),
|
|
937
|
+
browserPreview.url && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-1 text-center text-sm"), children: browserPreview.url })
|
|
938
|
+
]
|
|
939
|
+
}
|
|
940
|
+
),
|
|
941
|
+
browserPreview.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
942
|
+
img.Img,
|
|
943
|
+
{
|
|
944
|
+
src: browserPreview.image.src,
|
|
945
|
+
alt: browserPreview.image.alt,
|
|
946
|
+
className: cn("w-full", browserPreview.image.className),
|
|
947
|
+
optixFlowConfig
|
|
948
|
+
}
|
|
949
|
+
)
|
|
950
|
+
]
|
|
951
|
+
}
|
|
952
|
+
)
|
|
1006
953
|
] });
|
|
1007
954
|
}, [browserPreviewSlot, browserPreview, previewClassName, optixFlowConfig]);
|
|
1008
955
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1013,11 +960,39 @@ function HeroSaasDashboardPreview({
|
|
|
1013
960
|
pattern,
|
|
1014
961
|
patternOpacity,
|
|
1015
962
|
className: cn(className),
|
|
1016
|
-
|
|
963
|
+
containerClassName,
|
|
964
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-10 md:pt-0", children: [
|
|
1017
965
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
|
|
1018
966
|
renderBadge,
|
|
1019
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1020
|
-
|
|
967
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
968
|
+
"h1",
|
|
969
|
+
{
|
|
970
|
+
className: cn(
|
|
971
|
+
"mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
|
|
972
|
+
headingClassName
|
|
973
|
+
),
|
|
974
|
+
children: heading
|
|
975
|
+
}
|
|
976
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
977
|
+
"h1",
|
|
978
|
+
{
|
|
979
|
+
className: cn(
|
|
980
|
+
"mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
|
|
981
|
+
headingClassName
|
|
982
|
+
),
|
|
983
|
+
children: heading
|
|
984
|
+
}
|
|
985
|
+
)),
|
|
986
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
987
|
+
"p",
|
|
988
|
+
{
|
|
989
|
+
className: cn(
|
|
990
|
+
"mt-6 text-lg md:text-xl text-balance",
|
|
991
|
+
descriptionClassName
|
|
992
|
+
),
|
|
993
|
+
children: description
|
|
994
|
+
}
|
|
995
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1021
996
|
renderEmailForm
|
|
1022
997
|
] }),
|
|
1023
998
|
renderBrowserPreview
|
|
@@ -111,6 +111,6 @@ interface HeroSaasDashboardPreviewProps {
|
|
|
111
111
|
*/
|
|
112
112
|
optixFlowConfig?: OptixFlowConfig;
|
|
113
113
|
}
|
|
114
|
-
declare function HeroSaasDashboardPreview({ badgeText, badgeIcon, badgeSlot, heading, description, emailForm, emailFormSlot, browserPreview, browserPreviewSlot, background, spacing, pattern, patternOpacity, className,
|
|
114
|
+
declare function HeroSaasDashboardPreview({ badgeText, badgeIcon, badgeSlot, heading, description, emailForm, emailFormSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
115
115
|
|
|
116
116
|
export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
|
|
@@ -111,6 +111,6 @@ interface HeroSaasDashboardPreviewProps {
|
|
|
111
111
|
*/
|
|
112
112
|
optixFlowConfig?: OptixFlowConfig;
|
|
113
113
|
}
|
|
114
|
-
declare function HeroSaasDashboardPreview({ badgeText, badgeIcon, badgeSlot, heading, description, emailForm, emailFormSlot, browserPreview, browserPreviewSlot, background, spacing, pattern, patternOpacity, className,
|
|
114
|
+
declare function HeroSaasDashboardPreview({ badgeText, badgeIcon, badgeSlot, heading, description, emailForm, emailFormSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
115
115
|
|
|
116
116
|
export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
|
|
@@ -12,66 +12,6 @@ import { Img } from '@page-speed/img';
|
|
|
12
12
|
function cn(...inputs) {
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
16
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
17
|
-
if (isDark) {
|
|
18
|
-
switch (variant) {
|
|
19
|
-
case "muted":
|
|
20
|
-
return "bg-background";
|
|
21
|
-
case "card":
|
|
22
|
-
return "bg-card";
|
|
23
|
-
case "accent":
|
|
24
|
-
return "bg-accent";
|
|
25
|
-
case "subtle":
|
|
26
|
-
return "bg-background/50";
|
|
27
|
-
}
|
|
28
|
-
} else {
|
|
29
|
-
switch (variant) {
|
|
30
|
-
case "muted":
|
|
31
|
-
return "bg-muted";
|
|
32
|
-
case "card":
|
|
33
|
-
return "bg-card";
|
|
34
|
-
case "accent":
|
|
35
|
-
return "bg-accent";
|
|
36
|
-
case "subtle":
|
|
37
|
-
return "bg-muted/50";
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function getNestedCardTextColor(parentBg, options) {
|
|
42
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
43
|
-
return isDark ? "text-foreground" : "";
|
|
44
|
-
}
|
|
45
|
-
function getTextColor(parentBg, variant = "default", options) {
|
|
46
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
47
|
-
if (isDark) {
|
|
48
|
-
switch (variant) {
|
|
49
|
-
case "default":
|
|
50
|
-
return "text-foreground";
|
|
51
|
-
case "muted":
|
|
52
|
-
return "text-foreground/80";
|
|
53
|
-
case "subtle":
|
|
54
|
-
return "text-foreground/60";
|
|
55
|
-
case "accent":
|
|
56
|
-
return "text-accent-foreground";
|
|
57
|
-
}
|
|
58
|
-
} else {
|
|
59
|
-
switch (variant) {
|
|
60
|
-
case "default":
|
|
61
|
-
return "text-foreground";
|
|
62
|
-
case "muted":
|
|
63
|
-
return "text-muted-foreground";
|
|
64
|
-
case "subtle":
|
|
65
|
-
return "text-muted-foreground/70";
|
|
66
|
-
case "accent":
|
|
67
|
-
return "text-primary";
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function getAccentColor(parentBg, options) {
|
|
72
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
73
|
-
return isDark ? "text-accent-foreground" : "text-primary";
|
|
74
|
-
}
|
|
75
15
|
function normalizePhoneNumber(input) {
|
|
76
16
|
const trimmed = input.trim();
|
|
77
17
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -896,11 +836,11 @@ function HeroSaasDashboardPreview({
|
|
|
896
836
|
browserPreview,
|
|
897
837
|
browserPreviewSlot,
|
|
898
838
|
background,
|
|
899
|
-
|
|
839
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
840
|
+
spacing = "xl",
|
|
900
841
|
pattern,
|
|
901
842
|
patternOpacity,
|
|
902
843
|
className,
|
|
903
|
-
containerClassName,
|
|
904
844
|
headerClassName,
|
|
905
845
|
headingClassName,
|
|
906
846
|
descriptionClassName,
|
|
@@ -909,21 +849,18 @@ function HeroSaasDashboardPreview({
|
|
|
909
849
|
}) {
|
|
910
850
|
const renderBadge = useMemo(() => {
|
|
911
851
|
if (badgeSlot) return badgeSlot;
|
|
912
|
-
return /* @__PURE__ */ jsxs(
|
|
913
|
-
"
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
),
|
|
925
|
-
badgeText && /* @__PURE__ */ jsx("span", { children: badgeText })
|
|
926
|
-
] });
|
|
852
|
+
return /* @__PURE__ */ jsxs(
|
|
853
|
+
"div",
|
|
854
|
+
{
|
|
855
|
+
className: cn(
|
|
856
|
+
"inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm bg-muted text-muted-foreground"
|
|
857
|
+
),
|
|
858
|
+
children: [
|
|
859
|
+
badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
|
|
860
|
+
badgeText && /* @__PURE__ */ jsx("span", { children: badgeText })
|
|
861
|
+
]
|
|
862
|
+
}
|
|
863
|
+
);
|
|
927
864
|
}, [badgeSlot, badgeIcon, badgeText]);
|
|
928
865
|
const renderEmailForm = useMemo(() => {
|
|
929
866
|
if (emailFormSlot) return emailFormSlot;
|
|
@@ -949,39 +886,49 @@ function HeroSaasDashboardPreview({
|
|
|
949
886
|
}
|
|
950
887
|
)
|
|
951
888
|
] }) }),
|
|
952
|
-
emailForm.helperText && (typeof emailForm.helperText === "string" ? /* @__PURE__ */ jsx("p", { className:
|
|
889
|
+
emailForm.helperText && (typeof emailForm.helperText === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-sm", children: emailForm.helperText }) : emailForm.helperText)
|
|
953
890
|
] });
|
|
954
891
|
}, [emailFormSlot, emailForm]);
|
|
955
892
|
const renderBrowserPreview = useMemo(() => {
|
|
956
893
|
if (browserPreviewSlot) return browserPreviewSlot;
|
|
957
894
|
if (!browserPreview) return null;
|
|
958
895
|
return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
|
|
959
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-0
|
|
960
|
-
/* @__PURE__ */ jsxs(
|
|
961
|
-
"
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
896
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 z-10 pointer-events-none" }),
|
|
897
|
+
/* @__PURE__ */ jsxs(
|
|
898
|
+
"div",
|
|
899
|
+
{
|
|
900
|
+
className: cn(
|
|
901
|
+
"overflow-hidden rounded-xl border border-border shadow-2xl"
|
|
902
|
+
),
|
|
903
|
+
children: [
|
|
904
|
+
/* @__PURE__ */ jsxs(
|
|
905
|
+
"div",
|
|
906
|
+
{
|
|
907
|
+
className: cn(
|
|
908
|
+
"flex items-center gap-2 border-b border-border px-4 py-3"
|
|
909
|
+
),
|
|
910
|
+
children: [
|
|
911
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
|
|
912
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full bg-destructive" }),
|
|
913
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full bg-accent" }),
|
|
914
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full bg-primary" })
|
|
915
|
+
] }),
|
|
916
|
+
browserPreview.url && /* @__PURE__ */ jsx("div", { className: cn("flex-1 text-center text-sm"), children: browserPreview.url })
|
|
917
|
+
]
|
|
918
|
+
}
|
|
919
|
+
),
|
|
920
|
+
browserPreview.image && /* @__PURE__ */ jsx(
|
|
921
|
+
Img,
|
|
922
|
+
{
|
|
923
|
+
src: browserPreview.image.src,
|
|
924
|
+
alt: browserPreview.image.alt,
|
|
925
|
+
className: cn("w-full", browserPreview.image.className),
|
|
926
|
+
optixFlowConfig
|
|
927
|
+
}
|
|
928
|
+
)
|
|
929
|
+
]
|
|
930
|
+
}
|
|
931
|
+
)
|
|
985
932
|
] });
|
|
986
933
|
}, [browserPreviewSlot, browserPreview, previewClassName, optixFlowConfig]);
|
|
987
934
|
return /* @__PURE__ */ jsx(
|
|
@@ -992,11 +939,39 @@ function HeroSaasDashboardPreview({
|
|
|
992
939
|
pattern,
|
|
993
940
|
patternOpacity,
|
|
994
941
|
className: cn(className),
|
|
995
|
-
|
|
942
|
+
containerClassName,
|
|
943
|
+
children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0", children: [
|
|
996
944
|
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
|
|
997
945
|
renderBadge,
|
|
998
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
999
|
-
|
|
946
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
947
|
+
"h1",
|
|
948
|
+
{
|
|
949
|
+
className: cn(
|
|
950
|
+
"mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
|
|
951
|
+
headingClassName
|
|
952
|
+
),
|
|
953
|
+
children: heading
|
|
954
|
+
}
|
|
955
|
+
) : /* @__PURE__ */ jsx(
|
|
956
|
+
"h1",
|
|
957
|
+
{
|
|
958
|
+
className: cn(
|
|
959
|
+
"mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
|
|
960
|
+
headingClassName
|
|
961
|
+
),
|
|
962
|
+
children: heading
|
|
963
|
+
}
|
|
964
|
+
)),
|
|
965
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
966
|
+
"p",
|
|
967
|
+
{
|
|
968
|
+
className: cn(
|
|
969
|
+
"mt-6 text-lg md:text-xl text-balance",
|
|
970
|
+
descriptionClassName
|
|
971
|
+
),
|
|
972
|
+
children: description
|
|
973
|
+
}
|
|
974
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1000
975
|
renderEmailForm
|
|
1001
976
|
] }),
|
|
1002
977
|
renderBrowserPreview
|
|
@@ -1016,7 +1016,7 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
1016
1016
|
src: showcaseImages[index].src,
|
|
1017
1017
|
alt: showcaseImages[index].alt,
|
|
1018
1018
|
className: cn(
|
|
1019
|
-
"size-full object-cover object-center",
|
|
1019
|
+
"size-full object-cover object-center rounded-xl shadow-xl",
|
|
1020
1020
|
showcaseImages[index].className
|
|
1021
1021
|
),
|
|
1022
1022
|
optixFlowConfig
|
|
@@ -1035,13 +1035,13 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
1035
1035
|
patternOpacity,
|
|
1036
1036
|
className,
|
|
1037
1037
|
containerClassName,
|
|
1038
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center gap-8", children: [
|
|
1038
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-10 md:gap-6", children: [
|
|
1039
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center gap-8 pt-6 md:pt-0", children: [
|
|
1040
1040
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1041
1041
|
"h1",
|
|
1042
1042
|
{
|
|
1043
1043
|
className: cn(
|
|
1044
|
-
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance",
|
|
1044
|
+
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance font-semibold",
|
|
1045
1045
|
headingClassName
|
|
1046
1046
|
),
|
|
1047
1047
|
children: heading
|
|
@@ -1050,7 +1050,7 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
1050
1050
|
"h1",
|
|
1051
1051
|
{
|
|
1052
1052
|
className: cn(
|
|
1053
|
-
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance",
|
|
1053
|
+
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance font-semibold",
|
|
1054
1054
|
headingClassName
|
|
1055
1055
|
),
|
|
1056
1056
|
children: heading
|
|
@@ -993,7 +993,7 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
993
993
|
src: showcaseImages[index].src,
|
|
994
994
|
alt: showcaseImages[index].alt,
|
|
995
995
|
className: cn(
|
|
996
|
-
"size-full object-cover object-center",
|
|
996
|
+
"size-full object-cover object-center rounded-xl shadow-xl",
|
|
997
997
|
showcaseImages[index].className
|
|
998
998
|
),
|
|
999
999
|
optixFlowConfig
|
|
@@ -1012,13 +1012,13 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
1012
1012
|
patternOpacity,
|
|
1013
1013
|
className,
|
|
1014
1014
|
containerClassName,
|
|
1015
|
-
children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
|
1016
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-8", children: [
|
|
1015
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10 md:gap-6", children: [
|
|
1016
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-8 pt-6 md:pt-0", children: [
|
|
1017
1017
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1018
1018
|
"h1",
|
|
1019
1019
|
{
|
|
1020
1020
|
className: cn(
|
|
1021
|
-
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance",
|
|
1021
|
+
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance font-semibold",
|
|
1022
1022
|
headingClassName
|
|
1023
1023
|
),
|
|
1024
1024
|
children: heading
|
|
@@ -1027,7 +1027,7 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
1027
1027
|
"h1",
|
|
1028
1028
|
{
|
|
1029
1029
|
className: cn(
|
|
1030
|
-
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance",
|
|
1030
|
+
"max-w-[1000px] text-center text-[3.125rem] leading-none md:text-[4.25rem] lg:text-[5.5rem] text-balance font-semibold",
|
|
1031
1031
|
headingClassName
|
|
1032
1032
|
),
|
|
1033
1033
|
children: heading
|
|
@@ -917,38 +917,47 @@ function HeroSplitImageNewsletter({
|
|
|
917
917
|
className: cn("relative flex items-center justify-center", className),
|
|
918
918
|
containerClassName,
|
|
919
919
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-10 lg:flex-row lg:gap-20", children: [
|
|
920
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
),
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
920
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
921
|
+
"div",
|
|
922
|
+
{
|
|
923
|
+
className: cn(
|
|
924
|
+
"flex flex-col gap-8 lg:w-1/2 pt-8 md:pt-0",
|
|
925
|
+
contentClassName
|
|
926
|
+
),
|
|
927
|
+
children: [
|
|
928
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
929
|
+
"h1",
|
|
930
|
+
{
|
|
931
|
+
className: cn(
|
|
932
|
+
"text-5xl font-bold md:text-6xl lg:text-7xl text-balance",
|
|
933
|
+
headingClassName
|
|
934
|
+
),
|
|
935
|
+
children: heading
|
|
936
|
+
}
|
|
937
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
938
|
+
"h1",
|
|
939
|
+
{
|
|
940
|
+
className: cn(
|
|
941
|
+
"text-5xl font-bold md:text-6xl lg:text-7xl text-balance",
|
|
942
|
+
headingClassName
|
|
943
|
+
),
|
|
944
|
+
children: heading
|
|
945
|
+
}
|
|
946
|
+
)),
|
|
947
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
948
|
+
"p",
|
|
949
|
+
{
|
|
950
|
+
className: cn(
|
|
951
|
+
"text-lg md:text-xl text-balance",
|
|
952
|
+
descriptionClassName
|
|
953
|
+
),
|
|
954
|
+
children: description
|
|
955
|
+
}
|
|
956
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
957
|
+
renderNewsletterForm
|
|
958
|
+
]
|
|
959
|
+
}
|
|
960
|
+
),
|
|
952
961
|
renderImage
|
|
953
962
|
] })
|
|
954
963
|
}
|