@opensite/ui 2.0.6 → 2.0.8
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 +1 -1
- package/dist/hero-adaptable-product-grid.js +1 -1
- package/dist/hero-agency-animated-images.cjs +795 -631
- package/dist/hero-agency-animated-images.d.cts +13 -9
- package/dist/hero-agency-animated-images.d.ts +13 -9
- package/dist/hero-agency-animated-images.js +794 -630
- package/dist/hero-business-carousel-dots.cjs +822 -911
- package/dist/hero-business-carousel-dots.d.cts +5 -1
- package/dist/hero-business-carousel-dots.d.ts +5 -1
- package/dist/hero-business-carousel-dots.js +824 -910
- package/dist/hero-coming-soon-countdown.cjs +267 -110
- package/dist/hero-coming-soon-countdown.d.cts +8 -11
- package/dist/hero-coming-soon-countdown.d.ts +8 -11
- package/dist/hero-coming-soon-countdown.js +268 -111
- package/dist/hero-conversation-intelligence.cjs +673 -639
- package/dist/hero-conversation-intelligence.js +663 -629
- package/dist/hero-creative-studio-stacked.cjs +899 -861
- package/dist/hero-creative-studio-stacked.d.cts +16 -15
- package/dist/hero-creative-studio-stacked.d.ts +16 -15
- package/dist/hero-creative-studio-stacked.js +897 -859
- package/dist/hero-customer-support-layered.cjs +89 -76
- package/dist/hero-customer-support-layered.js +89 -76
- package/dist/hero-developer-tools-code.cjs +721 -669
- package/dist/hero-developer-tools-code.d.cts +5 -1
- package/dist/hero-developer-tools-code.d.ts +5 -1
- package/dist/hero-developer-tools-code.js +719 -667
- package/dist/hero-digital-agency-fullscreen.cjs +722 -680
- package/dist/hero-digital-agency-fullscreen.d.cts +4 -20
- package/dist/hero-digital-agency-fullscreen.d.ts +4 -20
- package/dist/hero-digital-agency-fullscreen.js +722 -680
- package/dist/hero-ecommerce-product-showcase.cjs +892 -846
- package/dist/hero-ecommerce-product-showcase.js +889 -843
- package/dist/hero-enterprise-security.cjs +168 -132
- package/dist/hero-enterprise-security.d.cts +12 -19
- package/dist/hero-enterprise-security.d.ts +12 -19
- package/dist/hero-enterprise-security.js +168 -132
- package/dist/hero-event-registration.cjs +39 -39
- package/dist/hero-event-registration.js +39 -39
- package/dist/hero-fullscreen-background-image.cjs +3 -2
- package/dist/hero-fullscreen-background-image.js +3 -2
- package/dist/hero-fullscreen-logo-cta.cjs +4 -2
- package/dist/hero-fullscreen-logo-cta.js +4 -2
- package/dist/hero-innovation-image-grid.cjs +2 -2
- package/dist/hero-innovation-image-grid.js +2 -2
- package/dist/hero-mental-health-team.cjs +17 -17
- package/dist/hero-mental-health-team.d.cts +5 -5
- package/dist/hero-mental-health-team.d.ts +5 -5
- package/dist/hero-mental-health-team.js +17 -17
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-newsletter-minimal.cjs +97 -57
- package/dist/hero-newsletter-minimal.d.cts +5 -1
- package/dist/hero-newsletter-minimal.d.ts +5 -1
- package/dist/hero-newsletter-minimal.js +97 -57
- package/dist/hero-shared-inbox-layered.cjs +522 -42
- package/dist/hero-shared-inbox-layered.d.cts +20 -4
- package/dist/hero-shared-inbox-layered.d.ts +20 -4
- package/dist/hero-shared-inbox-layered.js +505 -40
- package/dist/hero-startup-launch-cta.cjs +859 -816
- package/dist/hero-startup-launch-cta.d.cts +3 -2
- package/dist/hero-startup-launch-cta.d.ts +3 -2
- package/dist/hero-startup-launch-cta.js +858 -815
- package/dist/hero-therapy-testimonial-grid.cjs +1 -1
- package/dist/hero-therapy-testimonial-grid.js +1 -1
- package/dist/hero-video-dialog-gradient-BnCFFec0.d.ts +99 -0
- package/dist/hero-video-dialog-gradient-Dapebkzu.d.cts +99 -0
- package/dist/hero-video-dialog-gradient.cjs +24 -23
- package/dist/hero-video-dialog-gradient.d.cts +4 -94
- package/dist/hero-video-dialog-gradient.d.ts +4 -94
- package/dist/hero-video-dialog-gradient.js +24 -23
- package/dist/hero-welcome-asymmetric-images.cjs +652 -617
- package/dist/hero-welcome-asymmetric-images.d.cts +5 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +5 -1
- package/dist/hero-welcome-asymmetric-images.js +651 -616
- package/dist/registry.cjs +1111 -848
- package/dist/registry.js +1111 -848
- package/package.json +1 -1
|
@@ -954,11 +954,11 @@ function HeroInnovationImageGrid({
|
|
|
954
954
|
patternOpacity,
|
|
955
955
|
className,
|
|
956
956
|
containerClassName,
|
|
957
|
-
children: /* @__PURE__ */ jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-22.5 lg:grid-cols-2", children: [
|
|
957
|
+
children: /* @__PURE__ */ jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-12 md:gap-22.5 lg:grid-cols-2", children: [
|
|
958
958
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
|
|
959
959
|
"div",
|
|
960
960
|
{
|
|
961
|
-
className: cn("flex flex-col gap-
|
|
961
|
+
className: cn("flex flex-col gap-2 md:gap-12", contentClassName),
|
|
962
962
|
children: [
|
|
963
963
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
964
964
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -896,53 +896,53 @@ function HeroMentalHealthTeam({
|
|
|
896
896
|
actionsSlot,
|
|
897
897
|
actionsClassName,
|
|
898
898
|
heading,
|
|
899
|
-
|
|
900
|
-
|
|
899
|
+
smallImages,
|
|
900
|
+
smallImagesSlot,
|
|
901
901
|
testimonial,
|
|
902
902
|
testimonialSlot,
|
|
903
903
|
featureImage,
|
|
904
904
|
featureImageSlot,
|
|
905
905
|
background,
|
|
906
|
-
spacing = "xl",
|
|
907
906
|
pattern,
|
|
908
907
|
patternOpacity,
|
|
909
908
|
className,
|
|
909
|
+
spacing = "xl",
|
|
910
910
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
911
911
|
headerClassName,
|
|
912
912
|
headingClassName,
|
|
913
913
|
gridClassName,
|
|
914
914
|
optixFlowConfig
|
|
915
915
|
}) {
|
|
916
|
-
const
|
|
917
|
-
if (
|
|
918
|
-
if (!
|
|
916
|
+
const renderSmallImages = React3.useMemo(() => {
|
|
917
|
+
if (smallImagesSlot) return smallImagesSlot;
|
|
918
|
+
if (!smallImages || smallImages.length === 0) return null;
|
|
919
919
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
920
|
-
|
|
920
|
+
smallImages[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-[1/2] row-[1/2] w-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
921
921
|
img.Img,
|
|
922
922
|
{
|
|
923
|
-
src:
|
|
924
|
-
alt:
|
|
923
|
+
src: smallImages[0].src,
|
|
924
|
+
alt: smallImages[0].alt,
|
|
925
925
|
className: cn(
|
|
926
926
|
"block h-full w-full object-cover object-center",
|
|
927
|
-
|
|
927
|
+
smallImages[0].className
|
|
928
928
|
),
|
|
929
929
|
optixFlowConfig
|
|
930
930
|
}
|
|
931
931
|
) }) }),
|
|
932
|
-
|
|
932
|
+
smallImages[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-[2/3] row-[1/2] w-full md:col-[2/3] md:row-[1/2]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
933
933
|
img.Img,
|
|
934
934
|
{
|
|
935
|
-
src:
|
|
936
|
-
alt:
|
|
935
|
+
src: smallImages[1].src,
|
|
936
|
+
alt: smallImages[1].alt,
|
|
937
937
|
className: cn(
|
|
938
938
|
"block h-full w-full object-cover object-center",
|
|
939
|
-
|
|
939
|
+
smallImages[1].className
|
|
940
940
|
),
|
|
941
941
|
optixFlowConfig
|
|
942
942
|
}
|
|
943
943
|
) }) })
|
|
944
944
|
] });
|
|
945
|
-
}, [
|
|
945
|
+
}, [smallImagesSlot, smallImages, optixFlowConfig]);
|
|
946
946
|
const renderTestimonial = React3.useMemo(() => {
|
|
947
947
|
if (testimonialSlot) return testimonialSlot;
|
|
948
948
|
if (!testimonial) return null;
|
|
@@ -1032,7 +1032,7 @@ function HeroMentalHealthTeam({
|
|
|
1032
1032
|
"p",
|
|
1033
1033
|
{
|
|
1034
1034
|
className: cn(
|
|
1035
|
-
"text-center text-lg md:text-xl",
|
|
1035
|
+
"text-center text-lg md:text-xl text-balance",
|
|
1036
1036
|
descriptionClassName
|
|
1037
1037
|
),
|
|
1038
1038
|
children: description
|
|
@@ -1057,7 +1057,7 @@ function HeroMentalHealthTeam({
|
|
|
1057
1057
|
gridClassName
|
|
1058
1058
|
),
|
|
1059
1059
|
children: [
|
|
1060
|
-
|
|
1060
|
+
renderSmallImages,
|
|
1061
1061
|
renderTestimonial,
|
|
1062
1062
|
renderFeatureImage
|
|
1063
1063
|
]
|
|
@@ -16,13 +16,13 @@ interface HeroMentalHealthTeamProps {
|
|
|
16
16
|
*/
|
|
17
17
|
heading?: React.ReactNode;
|
|
18
18
|
/**
|
|
19
|
-
* Array of
|
|
19
|
+
* Array of 2 small images (expects 2 images)
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
smallImages?: ImageItem[];
|
|
22
22
|
/**
|
|
23
|
-
* Custom slot for
|
|
23
|
+
* Custom slot for small images (overrides smallImage array)
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
smallImagesSlot?: React.ReactNode;
|
|
26
26
|
/**
|
|
27
27
|
* Testimonial configuration
|
|
28
28
|
*/
|
|
@@ -101,6 +101,6 @@ interface HeroMentalHealthTeamProps {
|
|
|
101
101
|
*/
|
|
102
102
|
descriptionClassName?: string;
|
|
103
103
|
}
|
|
104
|
-
declare function HeroMentalHealthTeam({ description, descriptionClassName, actions, actionsSlot, actionsClassName, heading,
|
|
104
|
+
declare function HeroMentalHealthTeam({ description, descriptionClassName, actions, actionsSlot, actionsClassName, heading, smallImages, smallImagesSlot, testimonial, testimonialSlot, featureImage, featureImageSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, gridClassName, optixFlowConfig, }: HeroMentalHealthTeamProps): React.JSX.Element;
|
|
105
105
|
|
|
106
106
|
export { HeroMentalHealthTeam, type HeroMentalHealthTeamProps };
|
|
@@ -16,13 +16,13 @@ interface HeroMentalHealthTeamProps {
|
|
|
16
16
|
*/
|
|
17
17
|
heading?: React.ReactNode;
|
|
18
18
|
/**
|
|
19
|
-
* Array of
|
|
19
|
+
* Array of 2 small images (expects 2 images)
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
smallImages?: ImageItem[];
|
|
22
22
|
/**
|
|
23
|
-
* Custom slot for
|
|
23
|
+
* Custom slot for small images (overrides smallImage array)
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
smallImagesSlot?: React.ReactNode;
|
|
26
26
|
/**
|
|
27
27
|
* Testimonial configuration
|
|
28
28
|
*/
|
|
@@ -101,6 +101,6 @@ interface HeroMentalHealthTeamProps {
|
|
|
101
101
|
*/
|
|
102
102
|
descriptionClassName?: string;
|
|
103
103
|
}
|
|
104
|
-
declare function HeroMentalHealthTeam({ description, descriptionClassName, actions, actionsSlot, actionsClassName, heading,
|
|
104
|
+
declare function HeroMentalHealthTeam({ description, descriptionClassName, actions, actionsSlot, actionsClassName, heading, smallImages, smallImagesSlot, testimonial, testimonialSlot, featureImage, featureImageSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, gridClassName, optixFlowConfig, }: HeroMentalHealthTeamProps): React.JSX.Element;
|
|
105
105
|
|
|
106
106
|
export { HeroMentalHealthTeam, type HeroMentalHealthTeamProps };
|
|
@@ -875,53 +875,53 @@ function HeroMentalHealthTeam({
|
|
|
875
875
|
actionsSlot,
|
|
876
876
|
actionsClassName,
|
|
877
877
|
heading,
|
|
878
|
-
|
|
879
|
-
|
|
878
|
+
smallImages,
|
|
879
|
+
smallImagesSlot,
|
|
880
880
|
testimonial,
|
|
881
881
|
testimonialSlot,
|
|
882
882
|
featureImage,
|
|
883
883
|
featureImageSlot,
|
|
884
884
|
background,
|
|
885
|
-
spacing = "xl",
|
|
886
885
|
pattern,
|
|
887
886
|
patternOpacity,
|
|
888
887
|
className,
|
|
888
|
+
spacing = "xl",
|
|
889
889
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
890
890
|
headerClassName,
|
|
891
891
|
headingClassName,
|
|
892
892
|
gridClassName,
|
|
893
893
|
optixFlowConfig
|
|
894
894
|
}) {
|
|
895
|
-
const
|
|
896
|
-
if (
|
|
897
|
-
if (!
|
|
895
|
+
const renderSmallImages = useMemo(() => {
|
|
896
|
+
if (smallImagesSlot) return smallImagesSlot;
|
|
897
|
+
if (!smallImages || smallImages.length === 0) return null;
|
|
898
898
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
899
|
-
|
|
899
|
+
smallImages[0] && /* @__PURE__ */ jsx("div", { className: "col-[1/2] row-[1/2] w-full", children: /* @__PURE__ */ jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsx(
|
|
900
900
|
Img,
|
|
901
901
|
{
|
|
902
|
-
src:
|
|
903
|
-
alt:
|
|
902
|
+
src: smallImages[0].src,
|
|
903
|
+
alt: smallImages[0].alt,
|
|
904
904
|
className: cn(
|
|
905
905
|
"block h-full w-full object-cover object-center",
|
|
906
|
-
|
|
906
|
+
smallImages[0].className
|
|
907
907
|
),
|
|
908
908
|
optixFlowConfig
|
|
909
909
|
}
|
|
910
910
|
) }) }),
|
|
911
|
-
|
|
911
|
+
smallImages[1] && /* @__PURE__ */ jsx("div", { className: "col-[2/3] row-[1/2] w-full md:col-[2/3] md:row-[1/2]", children: /* @__PURE__ */ jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsx(
|
|
912
912
|
Img,
|
|
913
913
|
{
|
|
914
|
-
src:
|
|
915
|
-
alt:
|
|
914
|
+
src: smallImages[1].src,
|
|
915
|
+
alt: smallImages[1].alt,
|
|
916
916
|
className: cn(
|
|
917
917
|
"block h-full w-full object-cover object-center",
|
|
918
|
-
|
|
918
|
+
smallImages[1].className
|
|
919
919
|
),
|
|
920
920
|
optixFlowConfig
|
|
921
921
|
}
|
|
922
922
|
) }) })
|
|
923
923
|
] });
|
|
924
|
-
}, [
|
|
924
|
+
}, [smallImagesSlot, smallImages, optixFlowConfig]);
|
|
925
925
|
const renderTestimonial = useMemo(() => {
|
|
926
926
|
if (testimonialSlot) return testimonialSlot;
|
|
927
927
|
if (!testimonial) return null;
|
|
@@ -1011,7 +1011,7 @@ function HeroMentalHealthTeam({
|
|
|
1011
1011
|
"p",
|
|
1012
1012
|
{
|
|
1013
1013
|
className: cn(
|
|
1014
|
-
"text-center text-lg md:text-xl",
|
|
1014
|
+
"text-center text-lg md:text-xl text-balance",
|
|
1015
1015
|
descriptionClassName
|
|
1016
1016
|
),
|
|
1017
1017
|
children: description
|
|
@@ -1036,7 +1036,7 @@ function HeroMentalHealthTeam({
|
|
|
1036
1036
|
gridClassName
|
|
1037
1037
|
),
|
|
1038
1038
|
children: [
|
|
1039
|
-
|
|
1039
|
+
renderSmallImages,
|
|
1040
1040
|
renderTestimonial,
|
|
1041
1041
|
renderFeatureImage
|
|
1042
1042
|
]
|
|
@@ -880,7 +880,7 @@ function HeroMobileAppDownload({
|
|
|
880
880
|
notificationSlot,
|
|
881
881
|
background,
|
|
882
882
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
883
|
-
spacing = "
|
|
883
|
+
spacing = "xl",
|
|
884
884
|
pattern,
|
|
885
885
|
patternOpacity,
|
|
886
886
|
className,
|
|
@@ -1019,7 +1019,7 @@ function HeroMobileAppDownload({
|
|
|
1019
1019
|
patternOpacity,
|
|
1020
1020
|
className,
|
|
1021
1021
|
containerClassName,
|
|
1022
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1022
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 grid-cols-1 md:grid-cols-2 md:gap-20", children: [
|
|
1023
1023
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
1024
1024
|
renderBadge,
|
|
1025
1025
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -859,7 +859,7 @@ function HeroMobileAppDownload({
|
|
|
859
859
|
notificationSlot,
|
|
860
860
|
background,
|
|
861
861
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
862
|
-
spacing = "
|
|
862
|
+
spacing = "xl",
|
|
863
863
|
pattern,
|
|
864
864
|
patternOpacity,
|
|
865
865
|
className,
|
|
@@ -998,7 +998,7 @@ function HeroMobileAppDownload({
|
|
|
998
998
|
patternOpacity,
|
|
999
999
|
className,
|
|
1000
1000
|
containerClassName,
|
|
1001
|
-
children: /* @__PURE__ */ jsx("div", { className: "
|
|
1001
|
+
children: /* @__PURE__ */ jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-12 grid-cols-1 md:grid-cols-2 md:gap-20", children: [
|
|
1002
1002
|
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
1003
1003
|
renderBadge,
|
|
1004
1004
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -31,32 +31,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
31
31
|
function cn(...inputs) {
|
|
32
32
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
33
|
}
|
|
34
|
-
function getTextColor(parentBg, variant = "default", options) {
|
|
35
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
36
|
-
if (isDark) {
|
|
37
|
-
switch (variant) {
|
|
38
|
-
case "default":
|
|
39
|
-
return "text-foreground";
|
|
40
|
-
case "muted":
|
|
41
|
-
return "text-foreground/80";
|
|
42
|
-
case "subtle":
|
|
43
|
-
return "text-foreground/60";
|
|
44
|
-
case "accent":
|
|
45
|
-
return "text-accent-foreground";
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
switch (variant) {
|
|
49
|
-
case "default":
|
|
50
|
-
return "text-foreground";
|
|
51
|
-
case "muted":
|
|
52
|
-
return "text-muted-foreground";
|
|
53
|
-
case "subtle":
|
|
54
|
-
return "text-muted-foreground/70";
|
|
55
|
-
case "accent":
|
|
56
|
-
return "text-primary";
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
34
|
function normalizePhoneNumber(input) {
|
|
61
35
|
const trimmed = input.trim();
|
|
62
36
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -869,11 +843,12 @@ Section.displayName = "Section";
|
|
|
869
843
|
function HeroNewsletterMinimal({
|
|
870
844
|
heading,
|
|
871
845
|
description,
|
|
872
|
-
inputPlaceholder
|
|
846
|
+
inputPlaceholder,
|
|
873
847
|
submitAction,
|
|
874
848
|
formSlot,
|
|
875
|
-
disclaimer
|
|
849
|
+
disclaimer,
|
|
876
850
|
stats,
|
|
851
|
+
patternClassName,
|
|
877
852
|
statsSlot,
|
|
878
853
|
background,
|
|
879
854
|
spacing,
|
|
@@ -891,15 +866,40 @@ function HeroNewsletterMinimal({
|
|
|
891
866
|
const renderStats = React.useMemo(() => {
|
|
892
867
|
if (statsSlot) return statsSlot;
|
|
893
868
|
if (!stats || stats.length === 0) return null;
|
|
894
|
-
return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
869
|
+
return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
870
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
871
|
+
"div",
|
|
872
|
+
{
|
|
873
|
+
className: cn(
|
|
874
|
+
"flex items-center",
|
|
875
|
+
stat.icon ? "justify-between" : "justify-center"
|
|
876
|
+
),
|
|
877
|
+
children: [
|
|
878
|
+
stat.icon,
|
|
879
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
880
|
+
"div",
|
|
881
|
+
{
|
|
882
|
+
className: cn("font-bold ", stat.icon ? "text-xl" : "text-2xl"),
|
|
883
|
+
children: stat.value
|
|
884
|
+
}
|
|
885
|
+
)
|
|
886
|
+
]
|
|
887
|
+
}
|
|
888
|
+
),
|
|
889
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
|
|
890
|
+
] }) }, index));
|
|
898
891
|
}, [statsSlot, stats]);
|
|
899
892
|
const renderForm = React.useMemo(() => {
|
|
900
893
|
if (formSlot) return formSlot;
|
|
901
894
|
if (!submitAction) return null;
|
|
902
|
-
const {
|
|
895
|
+
const {
|
|
896
|
+
label,
|
|
897
|
+
icon,
|
|
898
|
+
iconAfter,
|
|
899
|
+
children,
|
|
900
|
+
className: actionClassName,
|
|
901
|
+
...pressableProps
|
|
902
|
+
} = submitAction;
|
|
903
903
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
904
904
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
905
905
|
Input,
|
|
@@ -909,35 +909,75 @@ function HeroNewsletterMinimal({
|
|
|
909
909
|
className: cn("h-12 flex-1", inputClassName)
|
|
910
910
|
}
|
|
911
911
|
),
|
|
912
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
...pressableProps,
|
|
918
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
919
|
-
icon,
|
|
920
|
-
label,
|
|
921
|
-
iconAfter
|
|
922
|
-
] })
|
|
923
|
-
}
|
|
924
|
-
)
|
|
912
|
+
/* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
913
|
+
icon,
|
|
914
|
+
label,
|
|
915
|
+
iconAfter
|
|
916
|
+
] }) })
|
|
925
917
|
] });
|
|
926
918
|
}, [formSlot, submitAction, inputPlaceholder, inputClassName]);
|
|
927
919
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
928
920
|
Section,
|
|
929
921
|
{
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
922
|
+
background,
|
|
923
|
+
spacing,
|
|
924
|
+
pattern,
|
|
925
|
+
patternOpacity,
|
|
926
|
+
patternClassName,
|
|
927
|
+
className,
|
|
928
|
+
containerClassName,
|
|
929
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
930
|
+
"div",
|
|
931
|
+
{
|
|
932
|
+
className: cn(
|
|
933
|
+
"container flex flex-col items-center justify-center text-center",
|
|
934
|
+
containerClassName
|
|
935
|
+
),
|
|
936
|
+
children: [
|
|
937
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
938
|
+
"h1",
|
|
939
|
+
{
|
|
940
|
+
className: cn(
|
|
941
|
+
"max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty",
|
|
942
|
+
headingClassName
|
|
943
|
+
),
|
|
944
|
+
children: heading
|
|
945
|
+
}
|
|
946
|
+
) : heading),
|
|
947
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
948
|
+
"p",
|
|
949
|
+
{
|
|
950
|
+
className: cn(
|
|
951
|
+
"mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance",
|
|
952
|
+
descriptionClassName
|
|
953
|
+
),
|
|
954
|
+
children: description
|
|
955
|
+
}
|
|
956
|
+
) : description),
|
|
957
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
958
|
+
"div",
|
|
959
|
+
{
|
|
960
|
+
className: cn(
|
|
961
|
+
"mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
|
|
962
|
+
formClassName
|
|
963
|
+
),
|
|
964
|
+
children: renderForm
|
|
965
|
+
}
|
|
966
|
+
),
|
|
967
|
+
disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
|
|
968
|
+
(statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
969
|
+
"div",
|
|
970
|
+
{
|
|
971
|
+
className: cn(
|
|
972
|
+
"mt-16 flex flex-wrap items-center justify-center gap-8",
|
|
973
|
+
statsClassName
|
|
974
|
+
),
|
|
975
|
+
children: renderStats
|
|
976
|
+
}
|
|
977
|
+
)
|
|
978
|
+
]
|
|
979
|
+
}
|
|
980
|
+
)
|
|
941
981
|
}
|
|
942
982
|
);
|
|
943
983
|
}
|
|
@@ -86,7 +86,11 @@ interface HeroNewsletterMinimalProps {
|
|
|
86
86
|
* Additional CSS classes for the stats container
|
|
87
87
|
*/
|
|
88
88
|
statsClassName?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Additional CSS classes for the pattern overlay
|
|
91
|
+
*/
|
|
92
|
+
patternClassName?: string;
|
|
89
93
|
}
|
|
90
|
-
declare function HeroNewsletterMinimal({ heading, description, inputPlaceholder, submitAction, formSlot, disclaimer, stats, statsSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, formClassName, inputClassName, disclaimerClassName, statsClassName, }: HeroNewsletterMinimalProps): React.JSX.Element;
|
|
94
|
+
declare function HeroNewsletterMinimal({ heading, description, inputPlaceholder, submitAction, formSlot, disclaimer, stats, patternClassName, statsSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, formClassName, inputClassName, disclaimerClassName, statsClassName, }: HeroNewsletterMinimalProps): React.JSX.Element;
|
|
91
95
|
|
|
92
96
|
export { HeroNewsletterMinimal, type HeroNewsletterMinimalProps };
|
|
@@ -86,7 +86,11 @@ interface HeroNewsletterMinimalProps {
|
|
|
86
86
|
* Additional CSS classes for the stats container
|
|
87
87
|
*/
|
|
88
88
|
statsClassName?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Additional CSS classes for the pattern overlay
|
|
91
|
+
*/
|
|
92
|
+
patternClassName?: string;
|
|
89
93
|
}
|
|
90
|
-
declare function HeroNewsletterMinimal({ heading, description, inputPlaceholder, submitAction, formSlot, disclaimer, stats, statsSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, formClassName, inputClassName, disclaimerClassName, statsClassName, }: HeroNewsletterMinimalProps): React.JSX.Element;
|
|
94
|
+
declare function HeroNewsletterMinimal({ heading, description, inputPlaceholder, submitAction, formSlot, disclaimer, stats, patternClassName, statsSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, formClassName, inputClassName, disclaimerClassName, statsClassName, }: HeroNewsletterMinimalProps): React.JSX.Element;
|
|
91
95
|
|
|
92
96
|
export { HeroNewsletterMinimal, type HeroNewsletterMinimalProps };
|