@opensite/ui 1.6.9 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hero-billing-platform-logos.cjs +77 -52
- package/dist/hero-billing-platform-logos.js +77 -51
- package/dist/hero-conversion-video-play.cjs +240 -78
- package/dist/hero-conversion-video-play.js +233 -75
- package/dist/hero-customer-support-layered.cjs +1 -1
- package/dist/hero-customer-support-layered.js +1 -1
- package/dist/hero-dashed-border-features.cjs +33 -24
- package/dist/hero-dashed-border-features.js +33 -24
- package/dist/hero-design-showcase-logos.cjs +102 -38
- package/dist/hero-design-showcase-logos.js +102 -38
- package/dist/hero-grid-pattern-solutions.cjs +187 -49
- package/dist/hero-grid-pattern-solutions.d.cts +1 -4
- package/dist/hero-grid-pattern-solutions.d.ts +1 -4
- package/dist/hero-grid-pattern-solutions.js +188 -50
- package/dist/hero-marketplace-scattered-images.cjs +120 -79
- package/dist/hero-marketplace-scattered-images.js +120 -79
- package/dist/hero-mentorship-video-split.cjs +32 -13
- package/dist/hero-mentorship-video-split.js +32 -13
- package/dist/hero-premium-split-avatars.cjs +2 -2
- package/dist/hero-premium-split-avatars.js +2 -2
- package/dist/hero-productivity-launcher-video.cjs +45 -143
- package/dist/hero-productivity-launcher-video.d.cts +5 -23
- package/dist/hero-productivity-launcher-video.d.ts +5 -23
- package/dist/hero-productivity-launcher-video.js +45 -143
- package/dist/hero-split-spiral-shapes.cjs +47 -38
- package/dist/hero-split-spiral-shapes.js +47 -38
- package/dist/hero-task-timer-animated.cjs +59 -59
- package/dist/hero-task-timer-animated.js +59 -59
- package/dist/registry.cjs +772 -439
- package/dist/registry.js +772 -439
- package/package.json +1 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useMemo } from 'react';
|
|
3
|
+
import React__default, { useState, useMemo, useCallback } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { Img } from '@page-speed/img';
|
|
9
|
+
import { Lightbox } from '@page-speed/lightbox';
|
|
10
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
9
11
|
|
|
10
12
|
// components/blocks/hero/hero-grid-pattern-solutions.tsx
|
|
11
13
|
function cn(...inputs) {
|
|
@@ -909,9 +911,41 @@ var Section = React__default.forwardRef(
|
|
|
909
911
|
}
|
|
910
912
|
);
|
|
911
913
|
Section.displayName = "Section";
|
|
914
|
+
var badgeVariants = cva(
|
|
915
|
+
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
916
|
+
{
|
|
917
|
+
variants: {
|
|
918
|
+
variant: {
|
|
919
|
+
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
920
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
921
|
+
destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
922
|
+
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
defaultVariants: {
|
|
926
|
+
variant: "default"
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
);
|
|
930
|
+
function Badge({
|
|
931
|
+
className,
|
|
932
|
+
variant,
|
|
933
|
+
asChild = false,
|
|
934
|
+
...props
|
|
935
|
+
}) {
|
|
936
|
+
const Comp = asChild ? Slot : "span";
|
|
937
|
+
return /* @__PURE__ */ jsx(
|
|
938
|
+
Comp,
|
|
939
|
+
{
|
|
940
|
+
"data-slot": "badge",
|
|
941
|
+
className: cn(badgeVariants({ variant }), className),
|
|
942
|
+
...props
|
|
943
|
+
}
|
|
944
|
+
);
|
|
945
|
+
}
|
|
912
946
|
function HeroGridPatternSolutions({
|
|
913
947
|
badgeText,
|
|
914
|
-
badgeHref
|
|
948
|
+
badgeHref,
|
|
915
949
|
badgeSlot,
|
|
916
950
|
heading,
|
|
917
951
|
description,
|
|
@@ -919,7 +953,6 @@ function HeroGridPatternSolutions({
|
|
|
919
953
|
actionsSlot,
|
|
920
954
|
images,
|
|
921
955
|
imagesSlot,
|
|
922
|
-
showGridPattern = true,
|
|
923
956
|
background,
|
|
924
957
|
spacing = "py-32 md:py-32",
|
|
925
958
|
pattern,
|
|
@@ -933,56 +966,114 @@ function HeroGridPatternSolutions({
|
|
|
933
966
|
imagesClassName,
|
|
934
967
|
optixFlowConfig
|
|
935
968
|
}) {
|
|
969
|
+
const [lightboxOpen, setLightboxOpen] = useState(false);
|
|
970
|
+
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
971
|
+
const lightboxItems = useMemo(
|
|
972
|
+
() => (images ?? []).map((img, index) => ({
|
|
973
|
+
id: `hero-grid-image-${index}`,
|
|
974
|
+
type: "image",
|
|
975
|
+
src: img.src,
|
|
976
|
+
alt: img.alt,
|
|
977
|
+
download: true,
|
|
978
|
+
share: true
|
|
979
|
+
})),
|
|
980
|
+
[images]
|
|
981
|
+
);
|
|
982
|
+
const handleImageClick = useCallback((index) => {
|
|
983
|
+
setLightboxIndex(index);
|
|
984
|
+
setLightboxOpen(true);
|
|
985
|
+
}, []);
|
|
986
|
+
const handleLightboxClose = useCallback(() => {
|
|
987
|
+
setLightboxOpen(false);
|
|
988
|
+
}, []);
|
|
936
989
|
const renderBadge = useMemo(() => {
|
|
937
990
|
if (badgeSlot) return badgeSlot;
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
children: [
|
|
944
|
-
badgeText,
|
|
945
|
-
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
946
|
-
]
|
|
947
|
-
}
|
|
948
|
-
);
|
|
991
|
+
if (!badgeText) return null;
|
|
992
|
+
return /* @__PURE__ */ jsx(Pressable, { href: badgeHref, children: /* @__PURE__ */ jsxs(Badge, { className: "px-2", children: [
|
|
993
|
+
badgeText,
|
|
994
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right" })
|
|
995
|
+
] }) });
|
|
949
996
|
}, [badgeSlot, badgeHref, badgeText]);
|
|
950
997
|
const renderActions = useMemo(() => {
|
|
951
998
|
if (actionsSlot) return actionsSlot;
|
|
952
999
|
if (!actions || actions.length === 0) return null;
|
|
953
|
-
return /* @__PURE__ */ jsx(
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
icon,
|
|
1000
|
+
return /* @__PURE__ */ jsx(
|
|
1001
|
+
"div",
|
|
1002
|
+
{
|
|
1003
|
+
className: cn(
|
|
1004
|
+
"flex flex-col justify-center gap-x-2 gap-y-3 sm:flex-row",
|
|
1005
|
+
actionsClassName
|
|
1006
|
+
),
|
|
1007
|
+
children: actions.map((action, index) => {
|
|
1008
|
+
const {
|
|
963
1009
|
label,
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1010
|
+
icon,
|
|
1011
|
+
iconAfter,
|
|
1012
|
+
children,
|
|
1013
|
+
className: actionClassName,
|
|
1014
|
+
...pressableProps
|
|
1015
|
+
} = action;
|
|
1016
|
+
return /* @__PURE__ */ jsx(
|
|
1017
|
+
Pressable,
|
|
1018
|
+
{
|
|
1019
|
+
asButton: true,
|
|
1020
|
+
className: actionClassName,
|
|
1021
|
+
...pressableProps,
|
|
1022
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1023
|
+
icon,
|
|
1024
|
+
label,
|
|
1025
|
+
iconAfter
|
|
1026
|
+
] })
|
|
1027
|
+
},
|
|
1028
|
+
index
|
|
1029
|
+
);
|
|
1030
|
+
})
|
|
1031
|
+
}
|
|
1032
|
+
);
|
|
970
1033
|
}, [actionsSlot, actions, actionsClassName]);
|
|
971
1034
|
const renderImages = useMemo(() => {
|
|
972
1035
|
if (imagesSlot) return imagesSlot;
|
|
973
1036
|
if (!images || images.length === 0) return null;
|
|
974
|
-
return /* @__PURE__ */ jsx(
|
|
975
|
-
|
|
1037
|
+
return /* @__PURE__ */ jsx(
|
|
1038
|
+
"div",
|
|
976
1039
|
{
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
1040
|
+
className: cn(
|
|
1041
|
+
"mt-8 md:mt-20 grid grid-cols-2 gap-4 md:flex md:flex-row md:items-center md:justify-center md:gap-6",
|
|
1042
|
+
imagesClassName
|
|
1043
|
+
),
|
|
1044
|
+
children: images.map((image, index) => /* @__PURE__ */ jsx(
|
|
1045
|
+
"div",
|
|
1046
|
+
{
|
|
1047
|
+
className: "cursor-pointer overflow-hidden rounded-xl transition-transform hover:scale-[1.02] hover:shadow-lg",
|
|
1048
|
+
onClick: () => handleImageClick(index),
|
|
1049
|
+
role: "button",
|
|
1050
|
+
tabIndex: 0,
|
|
1051
|
+
onKeyDown: (e) => {
|
|
1052
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
1053
|
+
e.preventDefault();
|
|
1054
|
+
handleImageClick(index);
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
"aria-label": `View ${image.alt} in lightbox`,
|
|
1058
|
+
children: /* @__PURE__ */ jsx(
|
|
1059
|
+
Img,
|
|
1060
|
+
{
|
|
1061
|
+
src: image.src,
|
|
1062
|
+
alt: image.alt,
|
|
1063
|
+
className: cn(
|
|
1064
|
+
"h-full max-h-[200px] max-w-[200px] w-full rounded-xl object-cover shadow-xl",
|
|
1065
|
+
image.className
|
|
1066
|
+
),
|
|
1067
|
+
optixFlowConfig
|
|
1068
|
+
}
|
|
1069
|
+
)
|
|
1070
|
+
},
|
|
1071
|
+
index
|
|
1072
|
+
))
|
|
1073
|
+
}
|
|
1074
|
+
);
|
|
1075
|
+
}, [imagesSlot, images, imagesClassName, optixFlowConfig, handleImageClick]);
|
|
1076
|
+
return /* @__PURE__ */ jsxs(
|
|
986
1077
|
Section,
|
|
987
1078
|
{
|
|
988
1079
|
background,
|
|
@@ -991,18 +1082,65 @@ function HeroGridPatternSolutions({
|
|
|
991
1082
|
patternOpacity,
|
|
992
1083
|
className: cn("relative flex items-center justify-center", className),
|
|
993
1084
|
containerClassName,
|
|
994
|
-
children:
|
|
995
|
-
/* @__PURE__ */ jsxs("div", { className: "relative
|
|
996
|
-
|
|
997
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
|
|
1085
|
+
children: [
|
|
1086
|
+
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
1087
|
+
/* @__PURE__ */ jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
|
|
998
1088
|
renderBadge,
|
|
999
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1000
|
-
|
|
1089
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1090
|
+
"h1",
|
|
1091
|
+
{
|
|
1092
|
+
className: cn(
|
|
1093
|
+
"my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl text-balance",
|
|
1094
|
+
headingClassName
|
|
1095
|
+
),
|
|
1096
|
+
children: heading
|
|
1097
|
+
}
|
|
1098
|
+
) : /* @__PURE__ */ jsx(
|
|
1099
|
+
"h1",
|
|
1100
|
+
{
|
|
1101
|
+
className: cn(
|
|
1102
|
+
"my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl text-balance",
|
|
1103
|
+
headingClassName
|
|
1104
|
+
),
|
|
1105
|
+
children: heading
|
|
1106
|
+
}
|
|
1107
|
+
)),
|
|
1108
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1109
|
+
"p",
|
|
1110
|
+
{
|
|
1111
|
+
className: cn(
|
|
1112
|
+
"mx-auto mb-8 max-w-2xl text-center lg:text-xl text-balance",
|
|
1113
|
+
descriptionClassName
|
|
1114
|
+
),
|
|
1115
|
+
children: description
|
|
1116
|
+
}
|
|
1117
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1001
1118
|
renderActions
|
|
1002
|
-
] })
|
|
1119
|
+
] }) }),
|
|
1120
|
+
renderImages
|
|
1003
1121
|
] }),
|
|
1004
|
-
|
|
1005
|
-
|
|
1122
|
+
lightboxOpen && /* @__PURE__ */ jsx(
|
|
1123
|
+
Lightbox,
|
|
1124
|
+
{
|
|
1125
|
+
items: lightboxItems,
|
|
1126
|
+
initialIndex: lightboxIndex,
|
|
1127
|
+
layout: "horizontal",
|
|
1128
|
+
controls: {
|
|
1129
|
+
navigation: true,
|
|
1130
|
+
thumbnails: true,
|
|
1131
|
+
download: true,
|
|
1132
|
+
share: true,
|
|
1133
|
+
fullscreen: true,
|
|
1134
|
+
captions: true,
|
|
1135
|
+
counter: true
|
|
1136
|
+
},
|
|
1137
|
+
onClose: handleLightboxClose,
|
|
1138
|
+
enableKeyboardShortcuts: true,
|
|
1139
|
+
closeOnEscape: true,
|
|
1140
|
+
closeOnBackdropClick: true
|
|
1141
|
+
}
|
|
1142
|
+
)
|
|
1143
|
+
]
|
|
1006
1144
|
}
|
|
1007
1145
|
);
|
|
1008
1146
|
}
|
|
@@ -33,32 +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
36
|
function normalizePhoneNumber(input) {
|
|
63
37
|
const trimmed = input.trim();
|
|
64
38
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -963,7 +937,7 @@ function HeroMarketplaceScatteredImages({
|
|
|
963
937
|
action,
|
|
964
938
|
actionSlot,
|
|
965
939
|
tagline,
|
|
966
|
-
taglineIcon
|
|
940
|
+
taglineIcon,
|
|
967
941
|
taglineSlot,
|
|
968
942
|
images,
|
|
969
943
|
imagesSlot,
|
|
@@ -983,7 +957,14 @@ function HeroMarketplaceScatteredImages({
|
|
|
983
957
|
const renderAction = React.useMemo(() => {
|
|
984
958
|
if (actionSlot) return actionSlot;
|
|
985
959
|
if (!action) return null;
|
|
986
|
-
const {
|
|
960
|
+
const {
|
|
961
|
+
label,
|
|
962
|
+
icon,
|
|
963
|
+
iconAfter,
|
|
964
|
+
children,
|
|
965
|
+
className: actionClassName,
|
|
966
|
+
...pressableProps
|
|
967
|
+
} = action;
|
|
987
968
|
return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
988
969
|
icon,
|
|
989
970
|
label,
|
|
@@ -992,6 +973,7 @@ function HeroMarketplaceScatteredImages({
|
|
|
992
973
|
}, [actionSlot, action]);
|
|
993
974
|
const renderTagline = React.useMemo(() => {
|
|
994
975
|
if (taglineSlot) return taglineSlot;
|
|
976
|
+
if (!tagline || !taglineIcon) return null;
|
|
995
977
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-7 flex items-start justify-center gap-2 font-medium md:text-xl", children: [
|
|
996
978
|
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: taglineIcon, size: 20, className: "mt-0.5" }),
|
|
997
979
|
tagline
|
|
@@ -1016,50 +998,74 @@ function HeroMarketplaceScatteredImages({
|
|
|
1016
998
|
const renderImages = React.useMemo(() => {
|
|
1017
999
|
if (imagesSlot) return imagesSlot;
|
|
1018
1000
|
if (!images || images.length === 0) return null;
|
|
1019
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1001
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1002
|
+
"div",
|
|
1003
|
+
{
|
|
1004
|
+
className: cn(
|
|
1005
|
+
"mx-auto max-w-7xl overflow-hidden py-8",
|
|
1006
|
+
imagesClassName
|
|
1007
|
+
),
|
|
1008
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-3 md:grid-cols-3", children: columns.map((colImages, colIndex) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1009
|
+
"div",
|
|
1010
|
+
{
|
|
1011
|
+
className: cn(
|
|
1012
|
+
"grid gap-3",
|
|
1013
|
+
colIndex === 2 && "hidden md:grid"
|
|
1014
|
+
),
|
|
1015
|
+
children: colImages.map((image, imgIndex) => {
|
|
1016
|
+
const height = heightPatterns[colIndex][imgIndex % heightPatterns[colIndex].length];
|
|
1017
|
+
const direction = colIndex % 2 === 0 ? "up" : "down";
|
|
1018
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1019
|
+
framerMotion.motion.div,
|
|
1020
|
+
{
|
|
1021
|
+
initial: {
|
|
1022
|
+
opacity: 0,
|
|
1023
|
+
scale: 0.9,
|
|
1024
|
+
y: direction === "up" ? 50 : -50
|
|
1025
|
+
},
|
|
1026
|
+
whileInView: {
|
|
1027
|
+
opacity: 1,
|
|
1028
|
+
scale: 1,
|
|
1029
|
+
y: 0
|
|
1030
|
+
},
|
|
1031
|
+
transition: {
|
|
1032
|
+
duration: 0.5,
|
|
1033
|
+
delay: imgIndex * 0.1
|
|
1034
|
+
},
|
|
1035
|
+
viewport: { once: true },
|
|
1036
|
+
className: cn("w-full overflow-hidden rounded-2xl"),
|
|
1037
|
+
style: { height },
|
|
1038
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1039
|
+
img.Img,
|
|
1040
|
+
{
|
|
1041
|
+
src: image.src,
|
|
1042
|
+
alt: image.alt,
|
|
1043
|
+
className: cn(
|
|
1044
|
+
"h-full w-full rounded-2xl object-cover",
|
|
1045
|
+
image.className
|
|
1046
|
+
),
|
|
1047
|
+
loading: "lazy",
|
|
1048
|
+
optixFlowConfig
|
|
1049
|
+
}
|
|
1050
|
+
)
|
|
1051
|
+
},
|
|
1052
|
+
imgIndex
|
|
1053
|
+
);
|
|
1054
|
+
})
|
|
1038
1055
|
},
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
image.className
|
|
1053
|
-
),
|
|
1054
|
-
loading: "lazy",
|
|
1055
|
-
optixFlowConfig
|
|
1056
|
-
}
|
|
1057
|
-
)
|
|
1058
|
-
},
|
|
1059
|
-
imgIndex
|
|
1060
|
-
);
|
|
1061
|
-
}) }, colIndex)) }) });
|
|
1062
|
-
}, [imagesSlot, images, imagesClassName, optixFlowConfig, columns, heightPatterns, background]);
|
|
1056
|
+
colIndex
|
|
1057
|
+
)) })
|
|
1058
|
+
}
|
|
1059
|
+
);
|
|
1060
|
+
}, [
|
|
1061
|
+
imagesSlot,
|
|
1062
|
+
images,
|
|
1063
|
+
imagesClassName,
|
|
1064
|
+
optixFlowConfig,
|
|
1065
|
+
columns,
|
|
1066
|
+
heightPatterns,
|
|
1067
|
+
background
|
|
1068
|
+
]);
|
|
1063
1069
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1064
1070
|
Section,
|
|
1065
1071
|
{
|
|
@@ -1069,14 +1075,49 @@ function HeroMarketplaceScatteredImages({
|
|
|
1069
1075
|
patternOpacity,
|
|
1070
1076
|
className: cn("relative flex items-center justify-center", className),
|
|
1071
1077
|
containerClassName,
|
|
1072
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
1073
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1078
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 items-center", children: [
|
|
1079
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1080
|
+
"div",
|
|
1081
|
+
{
|
|
1082
|
+
className: cn(
|
|
1083
|
+
"relative mx-auto max-w-xl py-10 text-center flex flex-col gap-6 items-center",
|
|
1084
|
+
contentClassName
|
|
1085
|
+
),
|
|
1086
|
+
children: [
|
|
1087
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1088
|
+
"h1",
|
|
1089
|
+
{
|
|
1090
|
+
className: cn(
|
|
1091
|
+
"mb-3 text-4xl lg:text-7xl text-balance",
|
|
1092
|
+
headingClassName
|
|
1093
|
+
),
|
|
1094
|
+
children: heading
|
|
1095
|
+
}
|
|
1096
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1097
|
+
"h1",
|
|
1098
|
+
{
|
|
1099
|
+
className: cn(
|
|
1100
|
+
"mb-3 text-4xl lg:text-7xl text-balance",
|
|
1101
|
+
headingClassName
|
|
1102
|
+
),
|
|
1103
|
+
children: heading
|
|
1104
|
+
}
|
|
1105
|
+
)),
|
|
1106
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1107
|
+
"p",
|
|
1108
|
+
{
|
|
1109
|
+
className: cn(
|
|
1110
|
+
"mb-5 text-sm md:text-base text-balance",
|
|
1111
|
+
descriptionClassName
|
|
1112
|
+
),
|
|
1113
|
+
children: description
|
|
1114
|
+
}
|
|
1115
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1116
|
+
renderAction,
|
|
1117
|
+
renderTagline
|
|
1118
|
+
]
|
|
1119
|
+
}
|
|
1120
|
+
),
|
|
1080
1121
|
renderImages
|
|
1081
1122
|
] })
|
|
1082
1123
|
}
|