@opensite/ui 2.0.2 → 2.0.4
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-ai-powered-carousel.cjs +152 -77
- package/dist/hero-ai-powered-carousel.d.cts +5 -13
- package/dist/hero-ai-powered-carousel.d.ts +5 -13
- package/dist/hero-ai-powered-carousel.js +152 -77
- package/dist/hero-announcement-badge.cjs +679 -665
- package/dist/hero-announcement-badge.d.cts +1 -1
- package/dist/hero-announcement-badge.d.ts +1 -1
- package/dist/hero-announcement-badge.js +689 -675
- package/dist/hero-badge-shadow-overlay.cjs +79 -32
- package/dist/hero-badge-shadow-overlay.js +80 -33
- package/dist/hero-centered-image-grid.cjs +106 -95
- package/dist/hero-centered-image-grid.d.cts +2 -14
- package/dist/hero-centered-image-grid.d.ts +2 -14
- package/dist/hero-centered-image-grid.js +106 -95
- package/dist/hero-community-survey-cta.cjs +149 -58
- package/dist/hero-community-survey-cta.d.cts +1 -1
- package/dist/hero-community-survey-cta.d.ts +1 -1
- package/dist/hero-community-survey-cta.js +149 -58
- package/dist/hero-design-carousel-portfolio.cjs +158 -66
- package/dist/hero-design-carousel-portfolio.d.cts +7 -11
- package/dist/hero-design-carousel-portfolio.d.ts +7 -11
- package/dist/hero-design-carousel-portfolio.js +158 -66
- package/dist/hero-event-registration.cjs +765 -718
- package/dist/hero-event-registration.js +761 -714
- package/dist/hero-fullscreen-background-image.cjs +746 -649
- package/dist/hero-fullscreen-background-image.d.cts +12 -4
- package/dist/hero-fullscreen-background-image.d.ts +12 -4
- package/dist/hero-fullscreen-background-image.js +746 -649
- package/dist/hero-fullscreen-logo-cta.cjs +89 -31
- package/dist/hero-fullscreen-logo-cta.js +89 -31
- package/dist/hero-gradient-avatars-rating.cjs +847 -816
- package/dist/hero-gradient-avatars-rating.d.cts +1 -13
- package/dist/hero-gradient-avatars-rating.d.ts +1 -13
- package/dist/hero-gradient-avatars-rating.js +844 -813
- package/dist/hero-gradient-client-focused.cjs +690 -629
- package/dist/hero-gradient-client-focused.d.cts +1 -1
- package/dist/hero-gradient-client-focused.d.ts +1 -1
- package/dist/hero-gradient-client-focused.js +689 -628
- package/dist/hero-grid-pattern-efficiency.cjs +59 -47
- package/dist/hero-grid-pattern-efficiency.d.cts +1 -8
- package/dist/hero-grid-pattern-efficiency.d.ts +1 -8
- package/dist/hero-grid-pattern-efficiency.js +59 -47
- package/dist/hero-logo-centered-screenshot.cjs +1 -1
- package/dist/hero-logo-centered-screenshot.js +1 -1
- package/dist/hero-marketplace-scattered-images.cjs +2 -6
- package/dist/hero-marketplace-scattered-images.d.cts +1 -4
- package/dist/hero-marketplace-scattered-images.d.ts +1 -4
- package/dist/hero-marketplace-scattered-images.js +2 -6
- package/dist/hero-pattern-logo-tech-stack.cjs +1 -1
- package/dist/hero-pattern-logo-tech-stack.js +1 -1
- package/dist/hero-platform-features-grid.cjs +5 -5
- package/dist/hero-platform-features-grid.js +5 -5
- package/dist/hero-simple-centered-image.cjs +140 -44
- package/dist/hero-simple-centered-image.d.cts +1 -1
- package/dist/hero-simple-centered-image.d.ts +1 -1
- package/dist/hero-simple-centered-image.js +140 -44
- package/dist/hero-spiral-pattern-cards.cjs +857 -809
- package/dist/hero-spiral-pattern-cards.d.cts +5 -1
- package/dist/hero-spiral-pattern-cards.d.ts +5 -1
- package/dist/hero-spiral-pattern-cards.js +856 -808
- package/dist/hero-split-geometric-shapes.cjs +754 -723
- package/dist/hero-split-geometric-shapes.d.cts +5 -1
- package/dist/hero-split-geometric-shapes.d.ts +5 -1
- package/dist/hero-split-geometric-shapes.js +748 -717
- package/dist/hero-task-timer-animated.cjs +698 -650
- package/dist/hero-task-timer-animated.d.cts +5 -1
- package/dist/hero-task-timer-animated.d.ts +5 -1
- package/dist/hero-task-timer-animated.js +697 -649
- package/dist/hero-ui-library-showcase.cjs +734 -719
- package/dist/hero-ui-library-showcase.d.cts +5 -1
- package/dist/hero-ui-library-showcase.d.ts +5 -1
- package/dist/hero-ui-library-showcase.js +732 -717
- package/dist/registry.cjs +1035 -788
- package/dist/registry.js +1035 -788
- package/package.json +1 -1
|
@@ -32,32 +32,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
32
32
|
function cn(...inputs) {
|
|
33
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
34
|
}
|
|
35
|
-
function getTextColor(parentBg, variant = "default", options) {
|
|
36
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
37
|
-
if (isDark) {
|
|
38
|
-
switch (variant) {
|
|
39
|
-
case "default":
|
|
40
|
-
return "text-foreground";
|
|
41
|
-
case "muted":
|
|
42
|
-
return "text-foreground/80";
|
|
43
|
-
case "subtle":
|
|
44
|
-
return "text-foreground/60";
|
|
45
|
-
case "accent":
|
|
46
|
-
return "text-accent-foreground";
|
|
47
|
-
}
|
|
48
|
-
} else {
|
|
49
|
-
switch (variant) {
|
|
50
|
-
case "default":
|
|
51
|
-
return "text-foreground";
|
|
52
|
-
case "muted":
|
|
53
|
-
return "text-muted-foreground";
|
|
54
|
-
case "subtle":
|
|
55
|
-
return "text-muted-foreground/70";
|
|
56
|
-
case "accent":
|
|
57
|
-
return "text-primary";
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
35
|
function normalizePhoneNumber(input) {
|
|
62
36
|
const trimmed = input.trim();
|
|
63
37
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -851,19 +825,87 @@ var Section = React__namespace.default.forwardRef(
|
|
|
851
825
|
}
|
|
852
826
|
);
|
|
853
827
|
Section.displayName = "Section";
|
|
828
|
+
var MOBILE_CLASSES = {
|
|
829
|
+
"fit-left": "items-start md:items-center",
|
|
830
|
+
"fit-center": "items-center",
|
|
831
|
+
"fit-right": "items-end md:items-center",
|
|
832
|
+
"full-left": "items-stretch md:items-center",
|
|
833
|
+
"full-center": "items-stretch md:items-center",
|
|
834
|
+
"full-right": "items-stretch md:items-center"
|
|
835
|
+
};
|
|
836
|
+
function BlockActions({
|
|
837
|
+
mobileConfig,
|
|
838
|
+
actionsClassName,
|
|
839
|
+
verticalSpacing = "mt-4 md:mt-8",
|
|
840
|
+
actions,
|
|
841
|
+
actionsSlot
|
|
842
|
+
}) {
|
|
843
|
+
const renderAction = React__namespace.useCallback(
|
|
844
|
+
(action, idx) => {
|
|
845
|
+
const {
|
|
846
|
+
label,
|
|
847
|
+
icon,
|
|
848
|
+
iconAfter,
|
|
849
|
+
children,
|
|
850
|
+
href,
|
|
851
|
+
onClick,
|
|
852
|
+
className: actionClassName,
|
|
853
|
+
...pressableProps
|
|
854
|
+
} = action;
|
|
855
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
856
|
+
Pressable,
|
|
857
|
+
{
|
|
858
|
+
href,
|
|
859
|
+
onClick,
|
|
860
|
+
asButton: action.asButton || true,
|
|
861
|
+
className: actionClassName,
|
|
862
|
+
...pressableProps,
|
|
863
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
864
|
+
icon,
|
|
865
|
+
label,
|
|
866
|
+
iconAfter
|
|
867
|
+
] })
|
|
868
|
+
},
|
|
869
|
+
idx
|
|
870
|
+
);
|
|
871
|
+
},
|
|
872
|
+
[]
|
|
873
|
+
);
|
|
874
|
+
const width = mobileConfig?.width ?? "full";
|
|
875
|
+
const position = mobileConfig?.position ?? "center";
|
|
876
|
+
const mobileLayoutClass = MOBILE_CLASSES[`${width}-${position}`];
|
|
877
|
+
if (actionsSlot) {
|
|
878
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: actionsSlot });
|
|
879
|
+
} else if (actions && actions?.length > 0) {
|
|
880
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
+
"div",
|
|
882
|
+
{
|
|
883
|
+
className: cn(
|
|
884
|
+
"flex flex-col md:flex-row flex-wrap gap-4",
|
|
885
|
+
mobileLayoutClass,
|
|
886
|
+
actionsClassName,
|
|
887
|
+
verticalSpacing
|
|
888
|
+
),
|
|
889
|
+
children: actions.map((action, index) => renderAction(action, index))
|
|
890
|
+
}
|
|
891
|
+
);
|
|
892
|
+
} else {
|
|
893
|
+
return null;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
854
896
|
function HeroSimpleCenteredImage({
|
|
855
897
|
heading,
|
|
856
898
|
description,
|
|
857
899
|
actions,
|
|
858
900
|
actionsSlot,
|
|
859
901
|
imageSrc,
|
|
860
|
-
imageAlt
|
|
902
|
+
imageAlt,
|
|
861
903
|
background,
|
|
862
|
-
spacing,
|
|
863
904
|
pattern,
|
|
864
905
|
patternOpacity,
|
|
865
906
|
className,
|
|
866
|
-
containerClassName,
|
|
907
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
908
|
+
spacing = "xl",
|
|
867
909
|
contentClassName,
|
|
868
910
|
headingClassName,
|
|
869
911
|
descriptionClassName,
|
|
@@ -872,11 +914,18 @@ function HeroSimpleCenteredImage({
|
|
|
872
914
|
imageClassName,
|
|
873
915
|
optixFlowConfig
|
|
874
916
|
}) {
|
|
875
|
-
|
|
917
|
+
React.useMemo(() => {
|
|
876
918
|
if (actionsSlot) return actionsSlot;
|
|
877
919
|
if (!actions || actions.length === 0) return null;
|
|
878
920
|
return actions.map((action, index) => {
|
|
879
|
-
const {
|
|
921
|
+
const {
|
|
922
|
+
label,
|
|
923
|
+
icon,
|
|
924
|
+
iconAfter,
|
|
925
|
+
children,
|
|
926
|
+
className: actionClassName,
|
|
927
|
+
...pressableProps
|
|
928
|
+
} = action;
|
|
880
929
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
881
930
|
Pressable,
|
|
882
931
|
{
|
|
@@ -900,22 +949,69 @@ function HeroSimpleCenteredImage({
|
|
|
900
949
|
spacing,
|
|
901
950
|
pattern,
|
|
902
951
|
patternOpacity,
|
|
903
|
-
className
|
|
952
|
+
className,
|
|
953
|
+
containerClassName,
|
|
904
954
|
children: [
|
|
905
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
955
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
956
|
+
"div",
|
|
957
|
+
{
|
|
958
|
+
className: cn(
|
|
959
|
+
"flex flex-col items-center text-center",
|
|
960
|
+
contentClassName
|
|
961
|
+
),
|
|
962
|
+
children: [
|
|
963
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
964
|
+
"h1",
|
|
965
|
+
{
|
|
966
|
+
className: cn(
|
|
967
|
+
"my-3 text-3xl font-bold text-balance sm:text-4xl md:my-6 lg:text-6xl",
|
|
968
|
+
headingClassName
|
|
969
|
+
),
|
|
970
|
+
children: heading
|
|
971
|
+
}
|
|
972
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
973
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
974
|
+
"p",
|
|
975
|
+
{
|
|
976
|
+
className: cn(
|
|
977
|
+
"max-w-xl md:max-w-md lg:text-2xl text-balance",
|
|
978
|
+
descriptionClassName
|
|
979
|
+
),
|
|
980
|
+
children: description
|
|
981
|
+
}
|
|
982
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
983
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
+
BlockActions,
|
|
985
|
+
{
|
|
986
|
+
actions,
|
|
987
|
+
actionsSlot,
|
|
988
|
+
actionsClassName
|
|
989
|
+
}
|
|
990
|
+
)
|
|
991
|
+
]
|
|
992
|
+
}
|
|
993
|
+
),
|
|
994
|
+
imageSrc && /* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
+
"div",
|
|
912
996
|
{
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
997
|
+
className: cn(
|
|
998
|
+
"aspect-video mask-[linear-gradient(#000_80%,transparent_100%)] mt-8 md:mt-16",
|
|
999
|
+
imageWrapperClassName
|
|
1000
|
+
),
|
|
1001
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1002
|
+
img.Img,
|
|
1003
|
+
{
|
|
1004
|
+
src: imageSrc,
|
|
1005
|
+
alt: imageAlt,
|
|
1006
|
+
className: cn(
|
|
1007
|
+
"h-full w-full rounded-t-2xl object-cover",
|
|
1008
|
+
imageClassName
|
|
1009
|
+
),
|
|
1010
|
+
optixFlowConfig
|
|
1011
|
+
}
|
|
1012
|
+
)
|
|
917
1013
|
}
|
|
918
|
-
)
|
|
1014
|
+
)
|
|
919
1015
|
]
|
|
920
1016
|
}
|
|
921
1017
|
);
|
|
@@ -84,6 +84,6 @@ interface HeroSimpleCenteredImageProps {
|
|
|
84
84
|
*/
|
|
85
85
|
optixFlowConfig?: OptixFlowConfig;
|
|
86
86
|
}
|
|
87
|
-
declare function HeroSimpleCenteredImage({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background,
|
|
87
|
+
declare function HeroSimpleCenteredImage({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageWrapperClassName, imageClassName, optixFlowConfig, }: HeroSimpleCenteredImageProps): React.JSX.Element;
|
|
88
88
|
|
|
89
89
|
export { HeroSimpleCenteredImage, type HeroSimpleCenteredImageProps };
|
|
@@ -84,6 +84,6 @@ interface HeroSimpleCenteredImageProps {
|
|
|
84
84
|
*/
|
|
85
85
|
optixFlowConfig?: OptixFlowConfig;
|
|
86
86
|
}
|
|
87
|
-
declare function HeroSimpleCenteredImage({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background,
|
|
87
|
+
declare function HeroSimpleCenteredImage({ heading, description, actions, actionsSlot, imageSrc, imageAlt, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageWrapperClassName, imageClassName, optixFlowConfig, }: HeroSimpleCenteredImageProps): React.JSX.Element;
|
|
88
88
|
|
|
89
89
|
export { HeroSimpleCenteredImage, type HeroSimpleCenteredImageProps };
|
|
@@ -11,32 +11,6 @@ import { Img } from '@page-speed/img';
|
|
|
11
11
|
function cn(...inputs) {
|
|
12
12
|
return twMerge(clsx(inputs));
|
|
13
13
|
}
|
|
14
|
-
function getTextColor(parentBg, variant = "default", options) {
|
|
15
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
16
|
-
if (isDark) {
|
|
17
|
-
switch (variant) {
|
|
18
|
-
case "default":
|
|
19
|
-
return "text-foreground";
|
|
20
|
-
case "muted":
|
|
21
|
-
return "text-foreground/80";
|
|
22
|
-
case "subtle":
|
|
23
|
-
return "text-foreground/60";
|
|
24
|
-
case "accent":
|
|
25
|
-
return "text-accent-foreground";
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
switch (variant) {
|
|
29
|
-
case "default":
|
|
30
|
-
return "text-foreground";
|
|
31
|
-
case "muted":
|
|
32
|
-
return "text-muted-foreground";
|
|
33
|
-
case "subtle":
|
|
34
|
-
return "text-muted-foreground/70";
|
|
35
|
-
case "accent":
|
|
36
|
-
return "text-primary";
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
14
|
function normalizePhoneNumber(input) {
|
|
41
15
|
const trimmed = input.trim();
|
|
42
16
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -830,19 +804,87 @@ var Section = React__default.forwardRef(
|
|
|
830
804
|
}
|
|
831
805
|
);
|
|
832
806
|
Section.displayName = "Section";
|
|
807
|
+
var MOBILE_CLASSES = {
|
|
808
|
+
"fit-left": "items-start md:items-center",
|
|
809
|
+
"fit-center": "items-center",
|
|
810
|
+
"fit-right": "items-end md:items-center",
|
|
811
|
+
"full-left": "items-stretch md:items-center",
|
|
812
|
+
"full-center": "items-stretch md:items-center",
|
|
813
|
+
"full-right": "items-stretch md:items-center"
|
|
814
|
+
};
|
|
815
|
+
function BlockActions({
|
|
816
|
+
mobileConfig,
|
|
817
|
+
actionsClassName,
|
|
818
|
+
verticalSpacing = "mt-4 md:mt-8",
|
|
819
|
+
actions,
|
|
820
|
+
actionsSlot
|
|
821
|
+
}) {
|
|
822
|
+
const renderAction = React.useCallback(
|
|
823
|
+
(action, idx) => {
|
|
824
|
+
const {
|
|
825
|
+
label,
|
|
826
|
+
icon,
|
|
827
|
+
iconAfter,
|
|
828
|
+
children,
|
|
829
|
+
href,
|
|
830
|
+
onClick,
|
|
831
|
+
className: actionClassName,
|
|
832
|
+
...pressableProps
|
|
833
|
+
} = action;
|
|
834
|
+
return /* @__PURE__ */ jsx(
|
|
835
|
+
Pressable,
|
|
836
|
+
{
|
|
837
|
+
href,
|
|
838
|
+
onClick,
|
|
839
|
+
asButton: action.asButton || true,
|
|
840
|
+
className: actionClassName,
|
|
841
|
+
...pressableProps,
|
|
842
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
843
|
+
icon,
|
|
844
|
+
label,
|
|
845
|
+
iconAfter
|
|
846
|
+
] })
|
|
847
|
+
},
|
|
848
|
+
idx
|
|
849
|
+
);
|
|
850
|
+
},
|
|
851
|
+
[]
|
|
852
|
+
);
|
|
853
|
+
const width = mobileConfig?.width ?? "full";
|
|
854
|
+
const position = mobileConfig?.position ?? "center";
|
|
855
|
+
const mobileLayoutClass = MOBILE_CLASSES[`${width}-${position}`];
|
|
856
|
+
if (actionsSlot) {
|
|
857
|
+
return /* @__PURE__ */ jsx("div", { children: actionsSlot });
|
|
858
|
+
} else if (actions && actions?.length > 0) {
|
|
859
|
+
return /* @__PURE__ */ jsx(
|
|
860
|
+
"div",
|
|
861
|
+
{
|
|
862
|
+
className: cn(
|
|
863
|
+
"flex flex-col md:flex-row flex-wrap gap-4",
|
|
864
|
+
mobileLayoutClass,
|
|
865
|
+
actionsClassName,
|
|
866
|
+
verticalSpacing
|
|
867
|
+
),
|
|
868
|
+
children: actions.map((action, index) => renderAction(action, index))
|
|
869
|
+
}
|
|
870
|
+
);
|
|
871
|
+
} else {
|
|
872
|
+
return null;
|
|
873
|
+
}
|
|
874
|
+
}
|
|
833
875
|
function HeroSimpleCenteredImage({
|
|
834
876
|
heading,
|
|
835
877
|
description,
|
|
836
878
|
actions,
|
|
837
879
|
actionsSlot,
|
|
838
880
|
imageSrc,
|
|
839
|
-
imageAlt
|
|
881
|
+
imageAlt,
|
|
840
882
|
background,
|
|
841
|
-
spacing,
|
|
842
883
|
pattern,
|
|
843
884
|
patternOpacity,
|
|
844
885
|
className,
|
|
845
|
-
containerClassName,
|
|
886
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
887
|
+
spacing = "xl",
|
|
846
888
|
contentClassName,
|
|
847
889
|
headingClassName,
|
|
848
890
|
descriptionClassName,
|
|
@@ -851,11 +893,18 @@ function HeroSimpleCenteredImage({
|
|
|
851
893
|
imageClassName,
|
|
852
894
|
optixFlowConfig
|
|
853
895
|
}) {
|
|
854
|
-
|
|
896
|
+
useMemo(() => {
|
|
855
897
|
if (actionsSlot) return actionsSlot;
|
|
856
898
|
if (!actions || actions.length === 0) return null;
|
|
857
899
|
return actions.map((action, index) => {
|
|
858
|
-
const {
|
|
900
|
+
const {
|
|
901
|
+
label,
|
|
902
|
+
icon,
|
|
903
|
+
iconAfter,
|
|
904
|
+
children,
|
|
905
|
+
className: actionClassName,
|
|
906
|
+
...pressableProps
|
|
907
|
+
} = action;
|
|
859
908
|
return /* @__PURE__ */ jsx(
|
|
860
909
|
Pressable,
|
|
861
910
|
{
|
|
@@ -879,22 +928,69 @@ function HeroSimpleCenteredImage({
|
|
|
879
928
|
spacing,
|
|
880
929
|
pattern,
|
|
881
930
|
patternOpacity,
|
|
882
|
-
className
|
|
931
|
+
className,
|
|
932
|
+
containerClassName,
|
|
883
933
|
children: [
|
|
884
|
-
/* @__PURE__ */ jsxs(
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
934
|
+
/* @__PURE__ */ jsxs(
|
|
935
|
+
"div",
|
|
936
|
+
{
|
|
937
|
+
className: cn(
|
|
938
|
+
"flex flex-col items-center text-center",
|
|
939
|
+
contentClassName
|
|
940
|
+
),
|
|
941
|
+
children: [
|
|
942
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
943
|
+
"h1",
|
|
944
|
+
{
|
|
945
|
+
className: cn(
|
|
946
|
+
"my-3 text-3xl font-bold text-balance sm:text-4xl md:my-6 lg:text-6xl",
|
|
947
|
+
headingClassName
|
|
948
|
+
),
|
|
949
|
+
children: heading
|
|
950
|
+
}
|
|
951
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
952
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
953
|
+
"p",
|
|
954
|
+
{
|
|
955
|
+
className: cn(
|
|
956
|
+
"max-w-xl md:max-w-md lg:text-2xl text-balance",
|
|
957
|
+
descriptionClassName
|
|
958
|
+
),
|
|
959
|
+
children: description
|
|
960
|
+
}
|
|
961
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
962
|
+
/* @__PURE__ */ jsx(
|
|
963
|
+
BlockActions,
|
|
964
|
+
{
|
|
965
|
+
actions,
|
|
966
|
+
actionsSlot,
|
|
967
|
+
actionsClassName
|
|
968
|
+
}
|
|
969
|
+
)
|
|
970
|
+
]
|
|
971
|
+
}
|
|
972
|
+
),
|
|
973
|
+
imageSrc && /* @__PURE__ */ jsx(
|
|
974
|
+
"div",
|
|
891
975
|
{
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
976
|
+
className: cn(
|
|
977
|
+
"aspect-video mask-[linear-gradient(#000_80%,transparent_100%)] mt-8 md:mt-16",
|
|
978
|
+
imageWrapperClassName
|
|
979
|
+
),
|
|
980
|
+
children: /* @__PURE__ */ jsx(
|
|
981
|
+
Img,
|
|
982
|
+
{
|
|
983
|
+
src: imageSrc,
|
|
984
|
+
alt: imageAlt,
|
|
985
|
+
className: cn(
|
|
986
|
+
"h-full w-full rounded-t-2xl object-cover",
|
|
987
|
+
imageClassName
|
|
988
|
+
),
|
|
989
|
+
optixFlowConfig
|
|
990
|
+
}
|
|
991
|
+
)
|
|
896
992
|
}
|
|
897
|
-
)
|
|
993
|
+
)
|
|
898
994
|
]
|
|
899
995
|
}
|
|
900
996
|
);
|