@opensite/ui 0.5.6 → 0.5.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/about-company-profile.cjs +89 -40
- package/dist/about-company-profile.js +89 -40
- package/dist/about-developer-story.cjs +121 -54
- package/dist/about-developer-story.js +121 -54
- package/dist/about-interactive-tabs.cjs +99 -28
- package/dist/about-interactive-tabs.js +99 -28
- package/dist/about-mission-features.cjs +71 -11
- package/dist/about-mission-features.js +71 -11
- package/dist/about-stats-showcase.cjs +140 -60
- package/dist/about-stats-showcase.js +140 -60
- package/dist/about-story-gallery.cjs +20 -2
- package/dist/about-story-gallery.js +20 -2
- package/dist/about-vision-gallery.cjs +111 -23
- package/dist/about-vision-gallery.js +111 -23
- package/dist/registry.cjs +651 -218
- package/dist/registry.js +651 -218
- package/package.json +1 -1
|
@@ -857,39 +857,49 @@ function AboutCompanyProfile({
|
|
|
857
857
|
const breakoutContent = React.useMemo(() => {
|
|
858
858
|
if (breakoutSlot) return breakoutSlot;
|
|
859
859
|
if (!breakout) return null;
|
|
860
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
860
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
861
|
+
"div",
|
|
862
|
+
{
|
|
863
|
+
className: cn(
|
|
864
|
+
"flex flex-col justify-between gap-6 rounded-xl bg-muted p-7 md:w-1/2 lg:w-auto",
|
|
865
|
+
breakoutClassName
|
|
866
|
+
),
|
|
867
|
+
children: [
|
|
868
|
+
breakout.logo && /* @__PURE__ */ jsxRuntime.jsx(
|
|
869
|
+
img.Img,
|
|
870
|
+
{
|
|
871
|
+
src: breakout.logo.src,
|
|
872
|
+
alt: breakout.logo.alt,
|
|
873
|
+
className: "mr-auto h-12 dark:invert",
|
|
874
|
+
optixFlowConfig
|
|
875
|
+
}
|
|
876
|
+
),
|
|
877
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
878
|
+
typeof breakout.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-lg font-semibold", children: breakout.title }) : breakout.title,
|
|
879
|
+
typeof breakout.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: breakout.description }) : breakout.description
|
|
880
|
+
] }),
|
|
881
|
+
breakout.action && /* @__PURE__ */ jsxRuntime.jsx(
|
|
882
|
+
Pressable,
|
|
883
|
+
{
|
|
884
|
+
href: breakout.action.href,
|
|
885
|
+
variant: breakout.action.variant || "outline",
|
|
886
|
+
asButton: true,
|
|
887
|
+
className: cn("mr-auto", breakout.action.className),
|
|
888
|
+
children: breakout.action.children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
889
|
+
breakout.action.icon,
|
|
890
|
+
breakout.action.label,
|
|
891
|
+
breakout.action.iconAfter
|
|
892
|
+
] })
|
|
893
|
+
}
|
|
894
|
+
)
|
|
895
|
+
]
|
|
896
|
+
}
|
|
897
|
+
);
|
|
889
898
|
}, [breakoutSlot, breakout, breakoutClassName, optixFlowConfig]);
|
|
890
899
|
const companiesContent = React.useMemo(() => {
|
|
891
900
|
if (companiesSlot) return companiesSlot;
|
|
892
|
-
if (!companies || companies.length === 0)
|
|
901
|
+
if (!companies || companies.length === 0)
|
|
902
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-7" });
|
|
893
903
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-32", companiesClassName), children: [
|
|
894
904
|
companiesTitle && (typeof companiesTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center", children: companiesTitle }) : companiesTitle),
|
|
895
905
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-8 flex flex-wrap justify-center gap-8", children: companies.map((company, idx) => {
|
|
@@ -926,7 +936,13 @@ function AboutCompanyProfile({
|
|
|
926
936
|
] }, idx);
|
|
927
937
|
}) })
|
|
928
938
|
] });
|
|
929
|
-
}, [
|
|
939
|
+
}, [
|
|
940
|
+
companiesSlot,
|
|
941
|
+
companies,
|
|
942
|
+
companiesClassName,
|
|
943
|
+
companiesTitle,
|
|
944
|
+
optixFlowConfig
|
|
945
|
+
]);
|
|
930
946
|
const achievementsContent = React.useMemo(() => {
|
|
931
947
|
if (achievementsSlot) return achievementsSlot;
|
|
932
948
|
if (!achievements || achievements.length === 0) return null;
|
|
@@ -955,7 +971,10 @@ function AboutCompanyProfile({
|
|
|
955
971
|
{
|
|
956
972
|
src: mainImage.src,
|
|
957
973
|
alt: mainImage.alt,
|
|
958
|
-
className: cn(
|
|
974
|
+
className: cn(
|
|
975
|
+
"size-full max-h-[620px] rounded-xl object-cover lg:col-span-2",
|
|
976
|
+
mainImageClassName
|
|
977
|
+
),
|
|
959
978
|
optixFlowConfig
|
|
960
979
|
}
|
|
961
980
|
),
|
|
@@ -966,20 +985,50 @@ function AboutCompanyProfile({
|
|
|
966
985
|
{
|
|
967
986
|
src: secondaryImage.src,
|
|
968
987
|
alt: secondaryImage.alt,
|
|
969
|
-
className: cn(
|
|
988
|
+
className: cn(
|
|
989
|
+
"grow basis-0 rounded-xl object-cover md:w-1/2 lg:min-h-0 lg:w-auto",
|
|
990
|
+
secondaryImageClassName
|
|
991
|
+
),
|
|
970
992
|
optixFlowConfig
|
|
971
993
|
}
|
|
972
994
|
)
|
|
973
995
|
] })
|
|
974
996
|
] }),
|
|
975
997
|
(companiesSlot || companies && companies.length > 0) && companiesContent,
|
|
976
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
998
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
999
|
+
"div",
|
|
1000
|
+
{
|
|
1001
|
+
className: cn(
|
|
1002
|
+
"relative overflow-hidden rounded-xl bg-muted p-7 md:p-16",
|
|
1003
|
+
achievementsClassName
|
|
1004
|
+
),
|
|
1005
|
+
children: [
|
|
1006
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 text-center md:text-left", children: [
|
|
1007
|
+
achievementsTitle && (typeof achievementsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1008
|
+
"h2",
|
|
1009
|
+
{
|
|
1010
|
+
className: cn(
|
|
1011
|
+
"text-3xl font-semibold md:text-4xl",
|
|
1012
|
+
achievementsTitleClassName
|
|
1013
|
+
),
|
|
1014
|
+
children: achievementsTitle
|
|
1015
|
+
}
|
|
1016
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsTitleClassName, children: achievementsTitle })),
|
|
1017
|
+
achievementsDescription && (typeof achievementsDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1018
|
+
"p",
|
|
1019
|
+
{
|
|
1020
|
+
className: cn(
|
|
1021
|
+
"max-w-xl text-muted-foreground",
|
|
1022
|
+
achievementsDescriptionClassName
|
|
1023
|
+
),
|
|
1024
|
+
children: achievementsDescription
|
|
1025
|
+
}
|
|
1026
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsDescriptionClassName, children: achievementsDescription }))
|
|
1027
|
+
] }),
|
|
1028
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children: achievementsContent })
|
|
1029
|
+
]
|
|
1030
|
+
}
|
|
1031
|
+
)
|
|
983
1032
|
]
|
|
984
1033
|
}
|
|
985
1034
|
);
|
|
@@ -836,39 +836,49 @@ function AboutCompanyProfile({
|
|
|
836
836
|
const breakoutContent = useMemo(() => {
|
|
837
837
|
if (breakoutSlot) return breakoutSlot;
|
|
838
838
|
if (!breakout) return null;
|
|
839
|
-
return /* @__PURE__ */ jsxs(
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
839
|
+
return /* @__PURE__ */ jsxs(
|
|
840
|
+
"div",
|
|
841
|
+
{
|
|
842
|
+
className: cn(
|
|
843
|
+
"flex flex-col justify-between gap-6 rounded-xl bg-muted p-7 md:w-1/2 lg:w-auto",
|
|
844
|
+
breakoutClassName
|
|
845
|
+
),
|
|
846
|
+
children: [
|
|
847
|
+
breakout.logo && /* @__PURE__ */ jsx(
|
|
848
|
+
Img,
|
|
849
|
+
{
|
|
850
|
+
src: breakout.logo.src,
|
|
851
|
+
alt: breakout.logo.alt,
|
|
852
|
+
className: "mr-auto h-12 dark:invert",
|
|
853
|
+
optixFlowConfig
|
|
854
|
+
}
|
|
855
|
+
),
|
|
856
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
857
|
+
typeof breakout.title === "string" ? /* @__PURE__ */ jsx("p", { className: "mb-2 text-lg font-semibold", children: breakout.title }) : breakout.title,
|
|
858
|
+
typeof breakout.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: breakout.description }) : breakout.description
|
|
859
|
+
] }),
|
|
860
|
+
breakout.action && /* @__PURE__ */ jsx(
|
|
861
|
+
Pressable,
|
|
862
|
+
{
|
|
863
|
+
href: breakout.action.href,
|
|
864
|
+
variant: breakout.action.variant || "outline",
|
|
865
|
+
asButton: true,
|
|
866
|
+
className: cn("mr-auto", breakout.action.className),
|
|
867
|
+
children: breakout.action.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
868
|
+
breakout.action.icon,
|
|
869
|
+
breakout.action.label,
|
|
870
|
+
breakout.action.iconAfter
|
|
871
|
+
] })
|
|
872
|
+
}
|
|
873
|
+
)
|
|
874
|
+
]
|
|
875
|
+
}
|
|
876
|
+
);
|
|
868
877
|
}, [breakoutSlot, breakout, breakoutClassName, optixFlowConfig]);
|
|
869
878
|
const companiesContent = useMemo(() => {
|
|
870
879
|
if (companiesSlot) return companiesSlot;
|
|
871
|
-
if (!companies || companies.length === 0)
|
|
880
|
+
if (!companies || companies.length === 0)
|
|
881
|
+
return /* @__PURE__ */ jsx("div", { className: "w-full h-7" });
|
|
872
882
|
return /* @__PURE__ */ jsxs("div", { className: cn("py-32", companiesClassName), children: [
|
|
873
883
|
companiesTitle && (typeof companiesTitle === "string" ? /* @__PURE__ */ jsx("p", { className: "text-center", children: companiesTitle }) : companiesTitle),
|
|
874
884
|
/* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap justify-center gap-8", children: companies.map((company, idx) => {
|
|
@@ -905,7 +915,13 @@ function AboutCompanyProfile({
|
|
|
905
915
|
] }, idx);
|
|
906
916
|
}) })
|
|
907
917
|
] });
|
|
908
|
-
}, [
|
|
918
|
+
}, [
|
|
919
|
+
companiesSlot,
|
|
920
|
+
companies,
|
|
921
|
+
companiesClassName,
|
|
922
|
+
companiesTitle,
|
|
923
|
+
optixFlowConfig
|
|
924
|
+
]);
|
|
909
925
|
const achievementsContent = useMemo(() => {
|
|
910
926
|
if (achievementsSlot) return achievementsSlot;
|
|
911
927
|
if (!achievements || achievements.length === 0) return null;
|
|
@@ -934,7 +950,10 @@ function AboutCompanyProfile({
|
|
|
934
950
|
{
|
|
935
951
|
src: mainImage.src,
|
|
936
952
|
alt: mainImage.alt,
|
|
937
|
-
className: cn(
|
|
953
|
+
className: cn(
|
|
954
|
+
"size-full max-h-[620px] rounded-xl object-cover lg:col-span-2",
|
|
955
|
+
mainImageClassName
|
|
956
|
+
),
|
|
938
957
|
optixFlowConfig
|
|
939
958
|
}
|
|
940
959
|
),
|
|
@@ -945,20 +964,50 @@ function AboutCompanyProfile({
|
|
|
945
964
|
{
|
|
946
965
|
src: secondaryImage.src,
|
|
947
966
|
alt: secondaryImage.alt,
|
|
948
|
-
className: cn(
|
|
967
|
+
className: cn(
|
|
968
|
+
"grow basis-0 rounded-xl object-cover md:w-1/2 lg:min-h-0 lg:w-auto",
|
|
969
|
+
secondaryImageClassName
|
|
970
|
+
),
|
|
949
971
|
optixFlowConfig
|
|
950
972
|
}
|
|
951
973
|
)
|
|
952
974
|
] })
|
|
953
975
|
] }),
|
|
954
976
|
(companiesSlot || companies && companies.length > 0) && companiesContent,
|
|
955
|
-
/* @__PURE__ */ jsxs(
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
977
|
+
/* @__PURE__ */ jsxs(
|
|
978
|
+
"div",
|
|
979
|
+
{
|
|
980
|
+
className: cn(
|
|
981
|
+
"relative overflow-hidden rounded-xl bg-muted p-7 md:p-16",
|
|
982
|
+
achievementsClassName
|
|
983
|
+
),
|
|
984
|
+
children: [
|
|
985
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 text-center md:text-left", children: [
|
|
986
|
+
achievementsTitle && (typeof achievementsTitle === "string" ? /* @__PURE__ */ jsx(
|
|
987
|
+
"h2",
|
|
988
|
+
{
|
|
989
|
+
className: cn(
|
|
990
|
+
"text-3xl font-semibold md:text-4xl",
|
|
991
|
+
achievementsTitleClassName
|
|
992
|
+
),
|
|
993
|
+
children: achievementsTitle
|
|
994
|
+
}
|
|
995
|
+
) : /* @__PURE__ */ jsx("div", { className: achievementsTitleClassName, children: achievementsTitle })),
|
|
996
|
+
achievementsDescription && (typeof achievementsDescription === "string" ? /* @__PURE__ */ jsx(
|
|
997
|
+
"p",
|
|
998
|
+
{
|
|
999
|
+
className: cn(
|
|
1000
|
+
"max-w-xl text-muted-foreground",
|
|
1001
|
+
achievementsDescriptionClassName
|
|
1002
|
+
),
|
|
1003
|
+
children: achievementsDescription
|
|
1004
|
+
}
|
|
1005
|
+
) : /* @__PURE__ */ jsx("div", { className: achievementsDescriptionClassName, children: achievementsDescription }))
|
|
1006
|
+
] }),
|
|
1007
|
+
/* @__PURE__ */ jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children: achievementsContent })
|
|
1008
|
+
]
|
|
1009
|
+
}
|
|
1010
|
+
)
|
|
962
1011
|
]
|
|
963
1012
|
}
|
|
964
1013
|
);
|
|
@@ -959,67 +959,98 @@ function AboutDeveloperStory({
|
|
|
959
959
|
const actionsContent = React.useMemo(() => {
|
|
960
960
|
if (actionsSlot) return actionsSlot;
|
|
961
961
|
if (!actions || actions.length === 0) return null;
|
|
962
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
963
|
-
|
|
962
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
963
|
+
"div",
|
|
964
964
|
{
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
variant: action.variant || "default",
|
|
969
|
-
asButton: true,
|
|
970
|
-
children: [
|
|
971
|
-
action.label,
|
|
972
|
-
idx === 1 && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16, className: "ml-2" })
|
|
973
|
-
]
|
|
974
|
-
},
|
|
975
|
-
idx
|
|
976
|
-
)) });
|
|
977
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
978
|
-
const logosContent = React.useMemo(() => {
|
|
979
|
-
if (logosSlot) return logosSlot;
|
|
980
|
-
if (!logos || logos.length === 0) return null;
|
|
981
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60", logosClassName), children: logos.map((logo, idx) => {
|
|
982
|
-
if (typeof logo.src === "string") {
|
|
983
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
984
|
-
img.Img,
|
|
965
|
+
className: cn("flex flex-wrap justify-center gap-4", actionsClassName),
|
|
966
|
+
children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
967
|
+
Pressable,
|
|
985
968
|
{
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
969
|
+
href: action.href,
|
|
970
|
+
onClick: action.onClick,
|
|
971
|
+
size: action.size || "lg",
|
|
972
|
+
variant: action.variant || "default",
|
|
973
|
+
asButton: true,
|
|
974
|
+
children: [
|
|
975
|
+
action.label,
|
|
976
|
+
idx === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
977
|
+
DynamicIcon,
|
|
978
|
+
{
|
|
979
|
+
name: "lucide/arrow-right",
|
|
980
|
+
size: 16,
|
|
981
|
+
className: "ml-2"
|
|
982
|
+
}
|
|
983
|
+
)
|
|
984
|
+
]
|
|
990
985
|
},
|
|
991
986
|
idx
|
|
992
|
-
)
|
|
987
|
+
))
|
|
993
988
|
}
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
989
|
+
);
|
|
990
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
991
|
+
const logosContent = React.useMemo(() => {
|
|
992
|
+
if (logosSlot) return logosSlot;
|
|
993
|
+
if (!logos || logos.length === 0) return null;
|
|
994
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
+
"div",
|
|
996
|
+
{
|
|
997
|
+
className: cn(
|
|
998
|
+
"mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60",
|
|
999
|
+
logosClassName
|
|
1003
1000
|
),
|
|
1004
|
-
logo
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1001
|
+
children: logos.map((logo, idx) => {
|
|
1002
|
+
if (typeof logo.src === "string") {
|
|
1003
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1004
|
+
img.Img,
|
|
1005
|
+
{
|
|
1006
|
+
src: logo.src,
|
|
1007
|
+
alt: logo.alt,
|
|
1008
|
+
className: "h-8 w-auto grayscale",
|
|
1009
|
+
optixFlowConfig
|
|
1010
|
+
},
|
|
1011
|
+
idx
|
|
1012
|
+
);
|
|
1011
1013
|
}
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1014
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-8", children: [
|
|
1015
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1016
|
+
img.Img,
|
|
1017
|
+
{
|
|
1018
|
+
src: logo.src.light,
|
|
1019
|
+
alt: logo.alt,
|
|
1020
|
+
className: "h-42 w-auto object-contain grayscale dark:hidden",
|
|
1021
|
+
optixFlowConfig
|
|
1022
|
+
}
|
|
1023
|
+
),
|
|
1024
|
+
logo.src.dark && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1025
|
+
img.Img,
|
|
1026
|
+
{
|
|
1027
|
+
src: logo.src.dark,
|
|
1028
|
+
alt: logo.alt,
|
|
1029
|
+
className: "hidden h-42 w-auto object-contain grayscale dark:block",
|
|
1030
|
+
optixFlowConfig
|
|
1031
|
+
}
|
|
1032
|
+
)
|
|
1033
|
+
] }, idx);
|
|
1034
|
+
})
|
|
1035
|
+
}
|
|
1036
|
+
);
|
|
1015
1037
|
}, [logosSlot, logos, logosClassName, optixFlowConfig]);
|
|
1016
1038
|
const statsContent = React.useMemo(() => {
|
|
1017
1039
|
if (statsSlot) return statsSlot;
|
|
1018
1040
|
if (!stats || stats.length === 0) return null;
|
|
1019
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1041
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1042
|
+
"div",
|
|
1043
|
+
{
|
|
1044
|
+
className: cn(
|
|
1045
|
+
"mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3",
|
|
1046
|
+
statsClassName
|
|
1047
|
+
),
|
|
1048
|
+
children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
1049
|
+
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
|
|
1050
|
+
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: stat.label }))
|
|
1051
|
+
] }, idx))
|
|
1052
|
+
}
|
|
1053
|
+
);
|
|
1023
1054
|
}, [statsSlot, stats, statsClassName]);
|
|
1024
1055
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1025
1056
|
Section,
|
|
@@ -1032,16 +1063,52 @@ function AboutDeveloperStory({
|
|
|
1032
1063
|
containerClassName,
|
|
1033
1064
|
children: [
|
|
1034
1065
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
|
|
1035
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1036
|
-
|
|
1066
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1067
|
+
"h1",
|
|
1068
|
+
{
|
|
1069
|
+
className: cn(
|
|
1070
|
+
"text-4xl font-bold tracking-tight md:text-6xl text-balance",
|
|
1071
|
+
titleClassName
|
|
1072
|
+
),
|
|
1073
|
+
children: title
|
|
1074
|
+
}
|
|
1075
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
1076
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1077
|
+
"p",
|
|
1078
|
+
{
|
|
1079
|
+
className: cn(
|
|
1080
|
+
"max-w-2xl text-lg text-muted-foreground md:text-xl text-balance",
|
|
1081
|
+
descriptionClassName
|
|
1082
|
+
),
|
|
1083
|
+
children: description
|
|
1084
|
+
}
|
|
1085
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1037
1086
|
actionsContent
|
|
1038
1087
|
] }),
|
|
1039
1088
|
logosContent,
|
|
1040
1089
|
statsContent,
|
|
1041
1090
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-20 grid gap-12 md:grid-cols-2 md:items-center", children: [
|
|
1042
1091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1043
|
-
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1044
|
-
|
|
1092
|
+
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1093
|
+
"h2",
|
|
1094
|
+
{
|
|
1095
|
+
className: cn(
|
|
1096
|
+
"text-3xl font-bold md:text-4xl",
|
|
1097
|
+
storyTitleClassName
|
|
1098
|
+
),
|
|
1099
|
+
children: storyTitle
|
|
1100
|
+
}
|
|
1101
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: storyTitleClassName, children: storyTitle })),
|
|
1102
|
+
storyContent && (typeof storyContent === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1103
|
+
"p",
|
|
1104
|
+
{
|
|
1105
|
+
className: cn(
|
|
1106
|
+
"mt-6 text-lg text-muted-foreground whitespace-pre-line",
|
|
1107
|
+
storyContentClassName
|
|
1108
|
+
),
|
|
1109
|
+
children: storyContent
|
|
1110
|
+
}
|
|
1111
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6", storyContentClassName), children: storyContent }))
|
|
1045
1112
|
] }),
|
|
1046
1113
|
storyImage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1047
1114
|
img.Img,
|